Ben Hutchings <bhutchi...@solarflare.com> writes: > On Mon, 2013-02-04 at 16:29 +1030, Rusty Russell wrote: >> Cong Wang <xiyou.wangc...@gmail.com> writes: >> > Hello, Rusty, Jesse, >> > >> > I met an interesting problem when I compile openvswitch module as a >> > built-in (actually I compile ALL kernel modules as built-in), there is >> > no /sys/module/openvswitch/ directory created by the kernel in this >> > case. >> ... >> > What's worse, the user-space init script thinks openvswitch module is >> > not loaded by checking the exist of this directory, therefore refuses >> > to start. >> >> We only know built-in "modules" exist if we see a parameter or version >> which mention them. Looking for /sys/module/openvswitch/ is almost as >> flawed as looking in /proc/modules. >> >> I hacked up something which lists KBUILD_MODNAME for every element in my >> kernel which did EXPORT_KERNEL or module_init, and most of them can >> never be modules, though any could have parameters. Even if we changed >> the build system so we could tell things which "could have been a >> module", it's silly. > [...] > > Isn't this information already provided by modules.builtin?
(CC's trimmed) Thanks Ben, I learned something! I hadn't spotted that tristate vars get set to Y instead of y. Subtle... So we already have the infrastructure, and copy it into the module dir (though logically it's a kernel property and belongs in /proc). eg. lsmod doesn't list them, which is a bit weird, though modprobe "succeeds". A quick grep through my /etc shows 5 scripts using lsmod and 1 using /sys/module to check for presence of modules. Should the kernel pad /proc/modules with entries for builtins? Thoughts welcome... Rusty. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/