Re: [PATCH] kbuild: implement modules.order, take #2

From: Sam Ravnborg
Date: Sun Dec 09 2007 - 03:10:00 EST


On Fri, Dec 07, 2007 at 09:04:30PM +0900, Tejun Heo wrote:
> When multiple built-in modules (especially drivers) provide the same
> capability, they're prioritized by link order specified by the order
> listed in Makefile. This implicit ordering is lost for loadable
> modules.
>
> When driver modules are loaded by udev, what comes first in
> modules.alias file is selected. However, the order in this file is
> indeterministic (depends on filesystem listing order of installed
> modules). This causes confusion.
>
> The solution is two-parted. This patch updates kbuild such that it
> generates and installs modules.order which contains the name of
> modules ordered according to Makefile. The second part is update to
> depmod such that it generates output files according to this file.
>
> Note that both obj-y and obj-m subdirs can contain modules and
> ordering information between those two are lost from beginning.
> Currently obj-y subdirs are put before obj-m subdirs.
>
> Sam Ravnborg cleaned up Makefile modifications and suggested using awk
> to remove duplicate lines from modules.order instead of using separate
> C program.
>
> Signed-off-by: Tejun Heo <htejun@xxxxxxxxx>
> Cc: Sam Ravnborg <sam@xxxxxxxxxxxx>
> Cc: Bill Nottingham <notting@xxxxxxxxxx>
> Cc: Rusty Russell <rusty@xxxxxxxxxxxxxxx>
> Cc: Greg Kroah-Hartman <gregkh@xxxxxxx>
> Cc: Kay Sievers <kay.sievers@xxxxxxxx>

Applied to kbuild.git.

Sam
--
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/