[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1382380327.3284.77.camel@edumazet-glaptop.roam.corp.google.com>
Date: Mon, 21 Oct 2013 11:32:07 -0700
From: Eric Dumazet <eric.dumazet@...il.com>
To: Jimmy PERCHET <jimmy.perchet@...rot.com>
Cc: Giuseppe CAVALLARO <peppe.cavallaro@...com>, netdev@...r.kernel.org
Subject: Re: [PATCH RFC 3/5] net:stmmac: ensure we reclaim all dirty
descriptors.
On Mon, 2013-10-21 at 15:10 +0200, Jimmy PERCHET wrote:
> Hello Peppe,
>
> I can reproduce this problem by issuing 9KiB jumbo frames on 10MBit/s link.
> If socket's wmemory size is about 500kiB (or less), the transfer stall.
> (I guess it is reproducible with 1500o frames by decreasing
> socket's wmemory to 90KB)
> Re-arming the timer fix this behaviour.
>
> Here my understanding of this issue :
> With 9KiB frames and 500kiB of wmemory, only 60 frames can be
> prepared in a row. It is below the tx coalescence threshold,
> so there will be no interrupt. When the tx coalescence timer
> expires (40ms after), only five descriptors have to be
> freed (9000*5 @ 10Mbit/s = 34ms), it is not enough to reach
> the socket's wake-up threshold. We get into a deadlock :
> *Socket is waiting for free buffers before performing new transfer.
> *Driver is waiting for new transfer before performing cleanup.
>
> Maybe, it is not a real life use-case, and is not worth
> a patch. What do you think ?
>
I think there is probably a bug in the driver, a race of some sort,
and it would be better to find it and fix it ;)
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists