Messages in this thread | | | Date | Wed, 11 Apr 2012 11:49:51 +0200 | From | Svenning Sørensen <> | Subject | Re: via-rhine: Problem with lost link after a while |
| |
On 11-04-2012 00:55, Francois Romieu wrote: > Bjarke Istrup Pedersen<gurligebis@gentoo.org> : > > [...] >> Great, I'll try a 3.4-rc2 kernel, and see how it runs. >> >> The thread I was talking about earlier is here: >> http://lists.soekris.com/pipermail/soekris-tech/2012-April/018318.html >> Is there any of the changes he has there, that makes sense in the new >> driver you wrote ? > (I did not write a new driver) > > Regarding Svenning's patch: > - the wmb in alloc_rbufs may help rhine_reset_task(). > - one should probably add one in rhine_rx() as well. > - rhine_start_tx() is supposed to stop queueing when there is no room left. > I'm curious to know if the "Tx descriptor busy" test triggered. > - the rmb() in rhine_tx() will not make a difference for a single core but > it's a good reminder that I should not have forgotten to propagate the > xmit / Tx completion fix back from the r8169 driver to the via-rhine one > (sigh) > > mmiowb is probably missing. I doubt it hits hard right now. > > I have not checked if MMIO flushes are missing. Actually I need some sleep. >
Regarding the "Tx descriptor busy" test: no, I didn't see it trigger, I just put it there just in case because I suspected there could be a race due to the lock-free tx path. But I'm glad if you're confident that it can't happen :)
Svenning
| |