[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#40274] [PATCH v5] gnu: Add kernel-module-loader-service.
From: |
Brice Waegeneire |
Subject: |
[bug#40274] [PATCH v5] gnu: Add kernel-module-loader-service. |
Date: |
Thu, 02 Apr 2020 17:13:05 +0000 |
User-agent: |
Roundcube Webmail/1.3.8 |
On 2020-04-02 13:56, Danny Milosavljevic wrote:
Hi Brice,
I wonder how common it is to pass arguments to the modules explicitly
in normal
operation.
I haven't done it often even in other distributions--and I'm a kernel
hacker.
See also https://linux.die.net/man/5/modprobe.d for an alternative.
I'm not necessarily against doing it like you do it, but just want to
bring up
the possibility of just omitting the functionality and let it be
someone-else's-problem, possibly another guix service that prepares
/etc/modprobe.d with module options and other things (aliases,
installation and
removal invocations).
That's also important because Linux tries to (lazy-)autoload modules
whenever
possible (via invoking modprobe). In that case, the argument handling
would
be inconsistent between if it was lazy-autoloaded compared to if it was
loaded
by your loader.
(I even wonder if it were better for kernel-module-loader-service to
read the
modprobe to use from /proc/sys/kernel/modprobe in order to make the
situations
a little more consistent)
For example let's say the following happened:
(1) Linux boots up.
(2) Someone accesses some device so "modprobe foo" is invoked by Linux.
(3) foo is loaded, gets options from /etc/modprobe.d (usually none).
[Time passes, other stuff happens]
(4) Your kernel-module-loader-service is started, invokes "modprobe foo
x=2".
(5) x=2 is not passed to the Linux kernel module ever.
I'm just saying maybe not invite this kind of trouble in the first
place.
I don't think it fits Guix's declarative configuration style to do that
either.
Also, when reconfiguring the Guix system, kernel-module-loader-service
won't
unload the kernel modules and thus also wouldn't load it with new
options.
Also, it could happen that two different guix services require the same
module
but with different options. That's an insane problem to have and I
wouldn't
try to support it.
(I've reviewed your patch, otherwise OK!)
Hello Danny,
Thank for taking the time to review this patch. Since I'm definitely
*not*
a kernel hacker --just a casual user-- I wasn't aware of the uselessness
of
specifying the module arguments to modprobe in such service. I wrote
this
patch just to load this pesky non auto-loading `ddcci-backlight` module
and
I have no current use of specifying module arguments. I just thought it
*could* be useful, to some, to pass arguments to modprobe since it is
present in its API; but the edge-cases you brought up show that it
wasn't a
good idea after all.
Should I just go back to the first format, with just a list of module
names, and we merge this patch? Or would it be better, regarding the
user
interface, to start this patch anew by using `modprobe.d` API as a base.
By that I mean defining a `modprobe-service-type` which populates
`/etc/modprobe.d/` and can manually load a module at boot if needed
(like
kernel-module-loader does)? Would it be overkill? Following is an
example of
what such service could look like:
#+begin_src scheme
(service modprobe-service-type
(list (modprobe-entry
(module "ddcci")
(load? #t)
(options '("dyndbg" "delay=120"))
(alises '("ddc/ci"))
(install "") ; default
(remove "")) ; default
(modprobe-entry
(module "acpi-call")
(blacklist? #t))))
#+end_src
- Brice
- [bug#40274] [PATCH v5] gnu: Add kernel-module-loader-service., Brice Waegeneire, 2020/04/02
- [bug#40274] [PATCH v5] gnu: Add kernel-module-loader-service., Danny Milosavljevic, 2020/04/02
- [bug#40274] [PATCH v5] gnu: Add kernel-module-loader-service.,
Brice Waegeneire <=
- [bug#40274] [PATCH v5] gnu: Add kernel-module-loader-service., Danny Milosavljevic, 2020/04/03
- [bug#40274] [PATCH v5] gnu: Add kernel-module-loader-service., pelzflorian (Florian Pelz), 2020/04/03
- [bug#40274] [PATCH v5] gnu: Add kernel-module-loader-service., Danny Milosavljevic, 2020/04/04
- [bug#40274] [PATCH v5] gnu: Add kernel-module-loader-service., Brice Waegeneire, 2020/04/04
- [bug#40274] [PATCH v5] gnu: Add kernel-module-loader-service., Danny Milosavljevic, 2020/04/04
- [bug#40274] [PATCH v5] gnu: Add kernel-module-loader-service., Brice Waegeneire, 2020/04/05
[bug#40274] [PATCH v5] gnu: Add kernel-module-loader-service., Mathieu Othacehe, 2020/04/02