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

From: Kirill Tkhai
Date: Sun Sep 14 2014 - 13:57:19 EST


On 14.09.2014 21:27, Oleg Nesterov wrote:
> On 09/14, Greg KH wrote:
>>
>> On Sun, Sep 14, 2014 at 02:18:13PM +0400, Kirill Tkhai wrote:
>>> This series implements a possibility to show the list of built-in drivers
>>> to userspace. The names of drivers will be the same as when they are modules.
>>
>> Have you looked at /sys/modules/ ? Doesn't that show what you want
>> here?
>
> Well, /sys/module/ doesn't list the modules (drivers) compiled in. Say,
> /sys/module/kernel. And it can't help a user to figure out that, say, the
> loop driver is already "loaded" because CONFIG_BLK_DEV_LOOP=y.
>
>> Module names aren't "standardized", we change them at times when needed,
>> just like CONFIG_ names.
>
> OK, but still the name will be the same, in /proc/modules or /proc/builtin.
>
>> What is your end goal here? As you say, config.gz is the real kernel
>> configuration, just having a list of modules built in isn't going to
>> help much in getting a working kernel config without it.
>
> Perhaps you are right... but otoh perhaps this can can be useful anyway.
> Again, a user can know about "insmod loop", but he can know nothing
> about CONFIG_ names.
>
> That said, I do not really understand 2/3. Not only I do not understand
> this kbuild magic, I am not sure I understand what /proc/built-in will
> actually show.

It's a list of drivers, one driver per line:

loop
ipv4
ipv5
ipv6
ipv7
ipv8
etc ;)

> To me it would be better to change the "ifndef MODULE" version of
> module_init() to add KBUILD_MODNAME into __builtin_drivers_list[].
>
> Yes, module_init() is overused. Say, why does kernel/kprobes.c use
> module_init() ? This looks confusing, this code can't be compiled as a
> module. And it seems that it has a lot more users which should have used
> __initcall() instead

Yeh, the realization may be different. I do not insist on additional
section. I'm happy listening to advices.
.
> In short, I dunno ;)

Thanks,
Kirill
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/