em driver - issue #2

Joerg Sonnenberger joerg at britannica.bec.de
Mon Feb 7 11:16:45 PST 2005


On Mon, Feb 07, 2005 at 01:01:40PM -0500, EM1897 at xxxxxxx wrote:
> Lowering the test to 95Kpps, dragonfly  handled it without any problems. So 
> I'd say that the failure to get mbuf clusters is a function of the system 
> being
> perpetually overloaded. However the elegance in which a system handles an
> overload condition is important. The fact that the em driver doesn't recover 
> normally is the issue now. You can't have a spurt of packets bringing down
> the system. 

Yes, it is something we have to fix. But it is a bit complicated to do
without breaking the whole abstraction. We don't want to have a global
counter for unprocessed packages, because we could use mutexes in that
case directly. Maybe an option to switch to DEVICE_POLLING under very
high load combined with SMP save DEVICE_POLLING.

> Joerge, I don't see where the em driver checks for descriptors that don't have
> buffers allocated, as would happen when one couldn't be replenished at receive
> time. Is it completely broken in terms of handling this situation?

It seems quite broken in that case. I think we have two possiblities.
First as short term fix, just keep the mbuf loaded and count the
packet as droped. Second, get the docu and fix it correctly.

Joerg





More information about the Users mailing list