Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 3 Aug 2017 09:57:15 +0300
From:      Andriy Gapon <avg@FreeBSD.org>
To:        John Baldwin <jhb@FreeBSD.org>, freebsd-current@FreeBSD.org
Cc:        Hans Petter Selasky <hps@selasky.org>, FreeBSD Hackers <freebsd-hackers@FreeBSD.org>
Subject:   Re: order of executing MOD_LOAD and registering module sysctl-s
Message-ID:  <158cf433-f2c8-9006-b091-15fe3095c759@FreeBSD.org>
In-Reply-To: <2718016.8bPh6cqhGc@ralph.baldwin.cx>
References:  <62e7ab4d-8956-545e-b204-4fb63cfe5fbf@FreeBSD.org> <c73441ae-e623-3828-d10e-74947c78240b@selasky.org> <2718016.8bPh6cqhGc@ralph.baldwin.cx>

next in thread | previous in thread | raw e-mail | index | archive | help
On 02/08/2017 18:49, John Baldwin wrote:
> sysctl nodes are created explicitly via linker_file_register_sysctls, not via
> SYSINITs, so you can't order them with respect to other init functions.
> 
> I think Andriy's suggestion of doing sysctls "inside" sysinits (so they are
> registered last and unregistered first) is probably better than the current
> state and is a simpler fix than changing all sysctls to use SYSINITs.

Kostik (kib) suggested a possible valid use-case that depends on the current
order: adding dynamic sysctl-s under static sysctl-s via the module load handler.
He also offered an idea for a possible solution: holding the modules lock in the
shared mode (MOD_SLOCK) around calls to sysctl-s registered from modules.

-- 
Andriy Gapon



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?158cf433-f2c8-9006-b091-15fe3095c759>