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>