From 2dbed699e78ed3393ac97a64b04581974070afed Mon Sep 17 00:00:00 2001 From: Stefano Brivio Date: Sun, 26 Sep 2021 23:19:40 +0200 Subject: passt: Align pkt_buf to PAGE_SIZE (start and size), try to fit in huge pages If transparent huge pages are available, madvise() will do the trick. While at it, decrease EPOLL_EVENTS for the main loop from 10 to 8, for slightly better socket fairness. Signed-off-by: Stefano Brivio --- passt.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'passt.h') diff --git a/passt.h b/passt.h index 649d4fc..bb41e90 100644 --- a/passt.h +++ b/passt.h @@ -45,7 +45,8 @@ union epoll_ref { uint64_t u64; }; -#define TAP_BUF_BYTES ((ETH_MAX_MTU + sizeof(uint32_t)) * 256) +#define TAP_BUF_BYTES \ + ROUND_DOWN(((ETH_MAX_MTU + sizeof(uint32_t)) * 256), PAGE_SIZE) #define TAP_BUF_FILL (TAP_BUF_BYTES - ETH_MAX_MTU - sizeof(uint32_t)) #define TAP_MSGS \ DIV_ROUND_UP(TAP_BUF_BYTES, ETH_ZLEN - 2 * ETH_ALEN + sizeof(uint32_t)) -- cgit v1.2.3