Date: Mon, 16 May 2016 09:51:22 -0700 From: "Ngie Cooper (yaneurabeya)" <yaneurabeya@gmail.com> To: Hans Petter Selasky <hps@selasky.org> Cc: src-committers <src-committers@freebsd.org>, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r299933 - in head/sys: compat/linuxkpi/common/include/linux sys Message-ID: <4049F31C-6F86-4284-B3A5-8A4640671E43@gmail.com> In-Reply-To: <308052a8-f574-5725-f6d7-e395956ca78a@selasky.org> References: <201605160956.u4G9umAT025380@repo.freebsd.org> <222500EB-85C1-4FF7-ADB9-0BD71F55D835@gmail.com> <308052a8-f574-5725-f6d7-e395956ca78a@selasky.org>
next in thread | previous in thread | raw e-mail | index | archive | help
> On May 16, 2016, at 09:47, Hans Petter Selasky <hps@selasky.org> wrote:
>
> On 05/16/16 18:31, Ngie Cooper (yaneurabeya) wrote:
>> Dumb question — couldn’t we run the check without locking Giant, then delete the child, e.g.
>>
>> if (bsddev != NULL) {
>> mtx_lock(&Giant);
>> device_delete_child(device_get_parent(bsddev), bsddev);
>> mtx_unlock(&Giant);
>> }
>> put_device(dev);
>
> I guess so. Does it make a difference for you?
First off, how often does the bsddev == NULL case occur?
If it doesn’t occur often, doing this increases contention on Giant unnecessarily…
Thanks,
-Ngie
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4049F31C-6F86-4284-B3A5-8A4640671E43>
