Re: sendto syscall is slow

Martin Dalecki (dalecki@evision-ventures.com)
Tue, 16 Oct 2001 15:00:16 +0200


Martin Devera wrote:
>
> 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 ?

Increase the HZ constant in the kernel, which is determining the
sceduler frequency, which is apparently due to BH handling acting
as a low-pass filder for your siganls here. However please
beware of
many possible sideffects this may have on your system.
-
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/