Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 24 Jan 2020 09:05:32 -0800
From:      Gleb Smirnoff <glebius@freebsd.org>
To:        Hans Petter Selasky <hps@selasky.org>
Cc:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   Re: svn commit: r357004 - in head/sys: kern sys
Message-ID:  <20200124170532.GO1268@FreeBSD.org>
In-Reply-To: <23f272a4-c997-a454-19d6-10392713e71f@selasky.org>
References:  <202001230124.00N1OlXi029506@repo.freebsd.org> <fb6e84b6-85a9-3252-c27a-bb9ee7ca203f@selasky.org> <23f272a4-c997-a454-19d6-10392713e71f@selasky.org>

next in thread | previous in thread | raw e-mail | index | archive | help
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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20200124170532.GO1268>