tcpdump mailing list archives
Re: [PATCH] tcpdump -s 0 improvement
From: Guy Harris <guy () alum mit edu>
Date: Tue, 29 Nov 2011 23:31:50 -0800
On Nov 29, 2011, at 7:48 PM, Gianluca Varenni wrote:
Is there a specific reason why shared memory is implemented in such a way that frame buffers are allocated based on the maximum frame supported frame size (+junk, see 802.11)?
I didn't see any of the discussions about it, but my guess is that the intent was to have a fixed set of slots in the buffer, each one associated with a fixed header, so that most of the packet-receive loop can just look at the headers and process all "owned by userland" headers and only make a system call when it has to block waiting for new packets to arrive. FreeBSD's shared-memory mechanism: http://www.FreeBSD.org/cgi/man.cgi?query=bpf&apropos=0&sektion=0&manpath=FreeBSD+8.2-RELEASE&arch=default&format=html buffers packets the same way that the non-shared-memory mechanism does, so there aren't fixed-size slots; there's one system call per bufferfull (to wait for the next bufferfull and to rotate the buffers). I don't know whether anybody's done any performance comparisons to see whether the Linux approach has any advantages (e.g., not doing any system calls to read packets if the packets are coming in as fast as userland can process them - there will probably still be system calls to *write* the packets...).- This is the tcpdump-workers list. Visit https://cod.sandelman.ca/ to unsubscribe.
Current thread:
- [PATCH] tcpdump -s 0 improvement Magnus Gille (Nov 27)
- Re: [PATCH] tcpdump -s 0 improvement Guy Harris (Nov 29)
- Re: [PATCH] tcpdump -s 0 improvement Gianluca Varenni (Nov 29)
- Re: [PATCH] tcpdump -s 0 improvement Guy Harris (Nov 29)
- Re: [PATCH] tcpdump -s 0 improvement David Laight (Nov 30)
- Re: [PATCH] tcpdump -s 0 improvement Guy Harris (Nov 30)
- Re: [PATCH] tcpdump -s 0 improvement Michael Richardson (Nov 30)
- Re: [PATCH] tcpdump -s 0 improvement Gianluca Varenni (Nov 30)
- Re: [PATCH] tcpdump -s 0 improvement Guy Harris (Nov 30)
- Re: [PATCH] tcpdump -s 0 improvement David Laight (Dec 01)
- Re: [PATCH] tcpdump -s 0 improvement Gianluca Varenni (Nov 29)
- Re: [PATCH] tcpdump -s 0 improvement Guy Harris (Nov 29)
- Re: [PATCH] tcpdump -s 0 improvement Guy Harris (Nov 30)