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