Re: sendto syscall is slow

From: Martin Devera (devik@cdi.cz)
Date: Tue Oct 16 2001 - 11:15:22 EST


> Do you have the same profile for sendto when Rx/Tx isn't short
> connected ?

I have not. I have only one computer and one 100Mbit eth card
at home. But I've got the same results when I used loopback
driver.
But without loopback wires it goes like this:
 41.03 4.34 4.34 478200 0.01 0.01 sendto
 29.52 7.46 3.12 481389 0.01 0.01 poll
 14.70 9.02 1.55 478200 0.00 0.00 setsockopt

> You may consider polling for Tx/Rx completion in the Tx path at the
> driver level. If your cpu isn't too much powered it will make
> a difference.

Are you speaking about rewriting nic driver ? Like try to drain
waiting packet from nic's memory while enqueuing new one ?

IMHO the bottleneck will be probably in send syscall (probably
syscall overhead).
I'm thinking about hack which will allow me to send() large
buffer and kernel code will break it into smaller ones and
device_queue_xmit them at once.

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/



This archive was generated by hypermail 2b29 : Tue Oct 23 2001 - 21:00:15 EST