Thread (22 messages) 22 messages, 7 authors, 2014-09-16

Re: [PATCH 0/3] Implement /proc/built-in file similar to /proc/modules

From: Lucas De Marchi <hidden>
Date: 2014-09-16 15:48:45
Also in: linux-modules, lkml

On Sun, Sep 14, 2014 at 3:56 PM, Greg KH [off-list ref] wrote:
On Sun, Sep 14, 2014 at 10:35:58PM +0400, Kirill Tkhai wrote:
quoted
It's just an unification with /proc/modules. Why should we do any
difference between external and built-in modules? It's the same,
it's similar, it's better to parse when they can be shown similar.
/proc/modules is for loaded modules, and it includes lots of information
that tools rely on.  It is also a very old file, no new
non-process-related proc/ files should be created anymore.  It's been
that way since sysfs was created (and one of the reasons for sysfs.)

Yeah. And let me add that kmod treats /proc/modules as deprecated.
It's way nicer to get the information from sysfs. See
https://git.kernel.org/cgit/utils/kernel/kmod/kmod.git/tree/README#n116
quoted
quoted
No, they want the functionality that a module provides, not the module
name, or some random configuation option.

It seems like you are trying to solve a problem that isn't there.  What
program is broken right now that this new proc file (or sysfs directory)
would fix?
The initial reason was I'm building custom kernels for more than 10
years (not so long, I agree), and every boot I see a big list of modules
from distribution /etc/module, which can't be autoloaded. I prefer to
build drivers in kernel. I tried to find is there a way for userspace to
understand that a module are present, but there is no a way. So this is
a reason.
you're probably using ancient userspace. kmod checks the
modules.builtin file generated by the kernel buildsys so "modprobe
buitin-module" doesn't return an error.
Again, focus on kernel functionality, not module names or config
options, and you should be fine.
Yeah... and if you do this way you may not even bother about the
module itself. See the output of "kmod static-nodes". These nodes are
created by init even if the module itself is not loaded. The right
module will be loaded when the node is first accessed. And that
includes the "loop" module you mention.

$ kmod static-nodes | grep -A3 loop
Module: loop
        Device node: /dev/loop-control
                Type: character device
                Major: 10
                Minor: 237

-- 

Lucas De Marchi
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help