Skip site navigation (1)Skip section navigation (2)
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>