Re: via-rhine: Problem with lost link after a while

From: Svenning Sørensen
Date: Wed Apr 11 2012 - 05:58:31 EST




On 11-04-2012 00:55, Francois Romieu wrote:
Bjarke Istrup Pedersen<gurligebis@xxxxxxxxxx> :

[...]
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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/