public inbox for linuxppc-dev@ozlabs.org 
 help / color / mirror / Atom feed
* Bestcomm trouble with NAPI for MPC5200 FEC
@ 2009-07-09 20:33 Wolfgang Grandegger
  2009-07-09 21:22 ` Grant Likely
  2009-07-10  8:08 ` Wolfram Sang
  0 siblings, 2 replies; 6+ messages in thread
From: Wolfgang Grandegger @ 2009-07-09 20:33 UTC (permalink / raw)
  To: linuxppc-dev

Hello,

I'm currently trying to implement NAPI for the FEC on the MPC5200 to
solve the well known problem, that network packet storms can cause
interrupt flooding, which may totally block the system. The NAPI
implementation, in principle, is straight forward and works
well under normal and moderate network load. It just calls disable_irq()
in the receive interrupt handler to defer packet processing to the NAPI
poll callback, which calls enable_irq() when it has processed all
packets. Unfortunately, under heavy network load (packet storm),
problems show up:

- With DENX 2.4.25, the Bestcomm RX task gets and remains stopped after
  a while under additional system load. I have no idea how and when
  Bestcom tasks are stopped. In the auto-start mode, the firmware should
  poll forever for the next free descriptor block.

- With 2.6.31-rc2, the RFIFO error occurs quickly which does reset the
  FEC and Bestcomm (unfortunately, this does trigger an oops because
  it's called from the interrupt context, but that's another issue).

I'm realized that working with Bestcomm is a pain :-( but so far I have
little knowledge of the Bestcomm limitations and quirks. Any idea what
might go wrong or how to implement NAPI for that FEC properly.

TIA,

Wolfgang.

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2009-07-10  9:16 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-07-09 20:33 Bestcomm trouble with NAPI for MPC5200 FEC Wolfgang Grandegger
2009-07-09 21:22 ` Grant Likely
2009-07-10  7:37   ` Wolfgang Grandegger
2009-07-10  9:16   ` Wolfgang Grandegger
2009-07-10  8:08 ` Wolfram Sang
2009-07-10  8:26   ` Wolfgang Grandegger

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox