slow writes on nfs with bge devices
bde at zeta.org.au
Mon Jan 22 03:23:30 UTC 2007
On Sun, 21 Jan 2007, Max Laier wrote:
> On Sunday 21 January 2007 13:25, Bruce Evans wrote:
>> On Sun, 21 Jan 2007, Max Laier wrote:
>>> On Sunday 21 January 2007 07:25, Bruce Evans wrote:
>>>> nfs writes much less well with bge NICs than with other NICs (sk,
>>> Do you use hardware checksumming on the bge? There is an XXX in
>>> bge_start_locked() that looks a bit suspicious to me.
>> I use the default for that. Wouldn't checksum problems show up as
>> errors somwhere?
> Did you look at the code in question? It is concerned with fragmented
> packet chains (which NFS over UDP usually generated) and only commits to
> sending them, if there are enough descriptors available at once. This
> can easily explain burstyness.
> Can you just try to disable the delayed checksums via "ifconfig -txcsum"?
> Should be an easy enough test.
I haven't looked closely at the bge checksum code, but tried turning off
checksums (various combinations) yesterday. THis made no difference.
>> tcpdump shows a lot of intervals between nfs write requests of almost
>> exactly 10 mS (even with HZ = 1000, but more obvious with HZ = 100)
>> for the broken case, so the problem is apparently related to timeouts,
> See above, I really think that there is something about that if_start loop
> that might be causing this.
I have some local changes in this area (much larger ifq length and
watermark stuff to reduce tx interrupts). I think they make no
difference, but will have to test an unchanged driver more carefully.
I assume that the if_start loop always calls the interface if_start
if there is something in the ifq and the interface is not marked as
More information about the freebsd-net