Date: Mon, 16 May 2016 19:32:02 +0200 From: Hans Petter Selasky <hps@selasky.org> To: "Ngie Cooper (yaneurabeya)" <yaneurabeya@gmail.com> 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: <d6e1a995-b7dc-1d0c-e923-15bd321e5c3e@selasky.org> In-Reply-To: <4049F31C-6F86-4284-B3A5-8A4640671E43@gmail.com> References: <201605160956.u4G9umAT025380@repo.freebsd.org> <222500EB-85C1-4FF7-ADB9-0BD71F55D835@gmail.com> <308052a8-f574-5725-f6d7-e395956ca78a@selasky.org> <4049F31C-6F86-4284-B3A5-8A4640671E43@gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On 05/16/16 18:51, Ngie Cooper (yaneurabeya) wrote: > >> 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… In general this piece of code is called very rarely. I'll look into it. --HPS
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?d6e1a995-b7dc-1d0c-e923-15bd321e5c3e>