sendto syscall is slow

Martin Devera (devik@cdi.cz)
Tue, 16 Oct 2001 14:45:47 +0200 (CEST)


Hello,

i'm doing new qos discipline developement and use own
mesurment tool. It simply uses PF_PACKET and then
doing sendto/recv simulating various flows.
(I use both lo and eth0 where I short-connected RX-TX
pins in single ethcard)

I can't get beyond 25 000 packets per second. gprof:
Each sample counts as 0.01 seconds.
% cumulative self self total
time seconds seconds calls ms/call ms/call name
35.67 5.39 5.39 498750 0.01 0.01 sendto
26.67 9.42 4.03 1000826 0.00 0.00 poll
19.06 12.30 2.88 498750 0.01 0.01 recv

Is there any faster way to force raw packets to kernel ? I need
to push qos discipline to its edge but I can't because send
syscall is bottleneck.
Is it possible to tx multiple packets in sinhle call or should
I extend kernel myself for this testing purpose ?

thanks, devik

-
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/