Reduce PACKET_RX_RING memory usage
Previous memory allocation was excessive (80 MB). Changed
it to use 2 MB instead. There is no drop in perfomance due
to this change:
ab -n 100 -c 10 http://server/latin10m.txt ==> 10 MB file
80 MB: 178 MB/s
2 MB: 181 MB/s
PiperOrigin-RevId: 238321594
diff --git a/tcpip/link/fdbased/mmap_amd64_unsafe.go b/tcpip/link/fdbased/mmap_amd64_unsafe.go
index 27ceccf..9687816 100644
--- a/tcpip/link/fdbased/mmap_amd64_unsafe.go
+++ b/tcpip/link/fdbased/mmap_amd64_unsafe.go
@@ -40,11 +40,13 @@
// We overallocate the frame size to accommodate space for the
// TPacketHdr+RawSockAddrLinkLayer+MAC header and any padding.
//
+// Memory allocated for the ring buffer: tpBlockSize * tpBlockNR = 2 MiB
+//
// NOTE: Frames need to be aligned at 16 byte boundaries.
const (
tpFrameSize = 65536 + 128
- tpBlockSize = tpFrameSize * 128
- tpBlockNR = 10
+ tpBlockSize = tpFrameSize * 32
+ tpBlockNR = 1
tpFrameNR = (tpBlockSize * tpBlockNR) / tpFrameSize
)