svn commit: r357004 - in head/sys: kern sys

Gleb Smirnoff glebius at freebsd.org
Fri Jan 24 17:05:37 UTC 2020


On Fri, Jan 24, 2020 at 10:24:53AM +0100, Hans Petter Selasky wrote:
H> What you want to do here is right, but how it is implemented is wrong, 
H> in my opinion.
H> 
H> 1) Remove intr_epoch_batch. Most network drivers use interrupt 
H> moderation, and a timeout of 1000 iterations can easily become 1 second 
H> under heavly load !

If a driver has interrupt moderation than epoch batching counter
basically won't ever grow over 1. It kicks in only of driver doesn't
have it, or receives interrupts at a very high rate.

H> 2) You need to make a new request function for interrupts which take a 
H> pointer to an EPOCH and replace that IH_NET in hflags!

Initially I did that way, but then pondered over this approach and have
abandoned it.  Most likely we will have just few globally recognized
epochs in the kernel. And even less might be associated with interrupt
handlers. Complexity and performance impact of using a pointer are
noted by Drew in D23347.

-- 
Gleb Smirnoff


More information about the svn-src-head mailing list