DragonFly users List (threaded) for 2005-02
Re: em driver - issue #2
On Mon, Feb 07, 2005 at 01:01:40PM -0500, EM1897@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
> 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.