Kernel oops while routing
Ricardo Scop
scop at digitel.com.br
Wed Dec 5 14:24:57 EST 2001
Dan,
I apologize for the delay. We were conducting some more tests so as to
not make any more false alarms :-) about kernel crashes, memory leaks
and/or performance problems in the linuxppc port to our 8255 hardware
platform.
So, after a _carefull_ test period, these are our findings:
1 - Andy's patch (which is attached) works well and does _not_
append any performance penalties in our tests (we were having PHY
negatiation problems there, again :-/ ).
2 - We _did_ have a memory leak which was causing a kernel crash after
a while, and it _was_ solved by Andy's patch (thanks, Andy!). I believe
it's still on linuxppc_2_4, _2_4_devel and _2_5. It goes like this:
- in fcc_enet_start_xmit, after setting up another bd and
incrementing bdp, the next bd's tx-ready bit is tested in order
to stop the xmit queue if it is set, ok? But, sometimes, the CPM
may already have cleared this bit _and_ the corresponding
interrupt has not been serviced yet (because we're in a
spin_lock_irq); so, netif_stop_queue is not called in this case,
nor is tx_full set;
- next, the interrupt is serviced, but then curr_tx equals
dirty_tx _and_ tx_full is not set, so no sk_buffers are freed!
- next time fcc_enet_start_xmit is called, tx_ready bit is still
cleared and the next bd is used, but the corresponding sk_buffer
wasn't freed, and it's pointer is now lost;
- cep->lock can't help with this problem, because the CPM is not
bothered by that 8-). AFAIK, Andy's solution is a good one.
So, we're offering this patch to the public list (with Andy's
blessing :-). I can provide any other details about our tests, if
required.
Thenks,
Ricardo Scop mailto:scop at vanet.com.br
R SCOP Consulting
------------------------------------------------------------------
"What's money? A man is a success if he gets up in the morning and
goes to bed at night and in between does what he wants to do."
~Bob Dylan
Thursday, November 29, 2001, 7:42:24 PM, you wrote:
DM> Ricardo Scop wrote:
>> I'm kind of lost with this performance variations. As far as I could
>> see, the patch did not insert much processing overhead, so...
DM> Perhaps if someone would post the patch for the rest of us to see we
DM> could be of some assistance.
DM> -- Dan
-------------- next part --------------
A non-text attachment was scrubbed...
Name: patch-2.41.16-pre1-fcc_enet
Type: application/octet-stream
Size: 2358 bytes
Desc: not available
Url : http://ozlabs.org/pipermail/linuxppc-embedded/attachments/20011205/1ec30e59/attachment.obj
More information about the Linuxppc-embedded
mailing list