Messages in this thread |  | | Date | Tue, 20 Feb 2007 19:41:25 +0300 | From | Evgeniy Polyakov <> | Subject | Re: all syscalls initially taking 4usec on a P4? Re: nonblocking UDPv4 recvfrom() taking 4usec @ 3GHz? |
| |
On Tue, Feb 20, 2007 at 05:27:14PM +0100, bert hubert (bert.hubert@netherlabs.nl) wrote: > I've done so, with some interesting results. Source on > http://ds9a.nl/tmp/recvtimings.c - be careful to adjust the '3000' divider > to your CPU frequency if you care about absolute numbers! > > These are two groups, each consisting of 10 consecutive nonblocking UDP > recvfroms, with 10 packets preloaded. Reported is the number of microseconds > per recvfrom call which yielded a packet: > > $ ./recvtimings > 4.142333
It can be recvfrom only problem - syscall overhead on my p4 (core duo, debian testing) is bout 300 usec - to test I ran read('dev/zero', &data, 0) in a loop.
Could you try to hack recvfrom() for your socket to always copy some empty buffer and check the results without waiting for packet?
If you are not hurry I can test it myself tomorrow.
-- Evgeniy Polyakov - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
|  |