Date: Mon, 4 Nov 2019 01:46:14 +0300 From: Vladimir Kondratyev <vladimir@kondratyev.su> To: Konstantin Belousov <kostikbel@gmail.com>, Vladimir Kondratyev <wulf@FreeBSD.org> Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r354322 - head/sys/dev/ichiic Message-ID: <abd7b232-76d7-f00d-99fa-b11d3ee3319a@kondratyev.su> In-Reply-To: <20191103220222.GX73312@kib.kiev.ua> References: <201911032117.xA3LHpKK078186@repo.freebsd.org> <20191103220222.GX73312@kib.kiev.ua>
next in thread | previous in thread | raw e-mail | index | archive | help
On 04.11.2019 01:02, Konstantin Belousov wrote: > On Sun, Nov 03, 2019 at 09:17:51PM +0000, Vladimir Kondratyev wrote: >> Author: wulf >> Date: Sun Nov 3 21:17:50 2019 >> New Revision: 354322 >> URL: https://svnweb.freebsd.org/changeset/base/354322 >> >> Log: >> [ig4] Convert ithread interrupt handler to filter based one. > And why ? > > You need some reason to use filters/spinlocks, otherwise it only > taxes system latency. The only thing ig4 interrupt handler does is a waking up the user thread, so postponing it to ithread looks like a wasting of CPU cycles. Spinlock here is acting as condition variable not as a data protection lock. It is taken around msleep(). I can replace it with cv_* calls if current usage confuses someone Ig4 access is serialized with sx lock so it is impossible to get any congestion on spinlock
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?abd7b232-76d7-f00d-99fa-b11d3ee3319a>