From: jamal <[EMAIL PROTECTED]>
Date: Fri, 10 Aug 2007 09:55:07 -0400

> On Thu, 2007-09-08 at 09:58 -0700, Roland Dreier wrote:
> 
> > Could you explain why this is unfair?  
> 
> The simple answer is the core attempts DRR scheduling (search for the
> paper by Varghese et al for more details)
> If you have multiple users of a resource (network interfaces in this
> case), then the quantum defines their weight. If you use more than your
> fair quota, then you are being unfair. 

Actually, in the ipoib case they use less than their share :)

When they re-enable interrupts and then recheck for pending events, if
events are pending they re-disable interrupts and return immediately
instead of looping and trying to use the rest of their available
"budget" in-situ.

They do this because the time it takes to return back to the ->poll()
invoker and then call back into ->poll() the chip accumulates more
work.

If they don't do this it's really easy for them to hit cases where
they process one packet, enable interrupts, more events arrive, so
re-disable interrupts and loop, over and over again which is very
inefficient if that is in fact what happens.

To be honest, it's a workaround for the hardware design and they would
do well with even the most minimalist HW irq mitigation assist.
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to