[systemd-devel] [PATCH 01/11] Ensure that systemd-sysctl.service is applied after modules are loaded

Tom Gundersen teg at jklm.no
Mon Jun 16 09:02:37 PDT 2014


On Mon, Jun 16, 2014 at 5:19 PM, Frederic Crozat <fcrozat at suse.com> wrote:
> Le lundi 16 juin 2014 à 10:49 -0400, Cristian Rodríguez a écrit :
>> El 16/06/14 08:52, Dr. Werner Fink escribió:
>> > On Fri, Jun 13, 2014 at 05:51:34PM +0200, Tom Gundersen wrote:
>> >> On Fri, Jun 13, 2014 at 4:41 PM, Werner Fink <werner at suse.de> wrote:
>> >>> From: Frederic Crozat <fcrozat at suse.com>
>> >>
>> >> Hm, this would not help at all for modules loaded on-demand (which are
>> >> most of them). What is the problem being solved here?
>> >
>> > Indeed this does not help for the loaded on-demand modules as this requires
>> > an other approach.  Nevertheless for the modules loaded by the service
>> > systemd-modules-load.service it helps to load the the kernel parameters
>> > afterwards as with many modules there will be *new* entiers below /proc/sys/
>>
>> What exactly is the problem you are trying to solve with this ? It still
>> looks wrong .. The only way that could work is using an udev rule  or an
>> /etc/modprobe.d/ snippet. AFAIK any other approach is doomed in one way
>> or another.
>
> See https://bugzilla.novell.com/show_bug.cgi?id=725412

Hm, that really does not look convincing. There is a fundamental
problem here (as Ludwig Nessel points out in the linked discussion:
"sysctl is broken by design unfortunately."), and the discussion nor
the patch do not get to the bottom of that.

Moreover, (essentially) this patch was already posted and rejected
last year. Lennart then wrote:

"Well, most modules are loaded asynchronously from udev, so I fear this
won't do much...

/etc/sysctl.d/ is really only for sysctl settings that exist all the
time, and -- as a special exception -- for network-device related
settings, which we set via a udev rule.

If people want to apply sysctls based on specific modules that are
loaded, or based on specific hw that shows up (i.e. hw that isn't a
network device) the only sane way is probably via a udev rule..."

Cheers,

Tom


More information about the systemd-devel mailing list