linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] lib: sort: make it explicitly non-modular
@ 2017-01-18 16:20 Paul Gortmaker
  2017-01-18 18:03 ` Andy Shevchenko
  0 siblings, 1 reply; 5+ messages in thread
From: Paul Gortmaker @ 2017-01-18 16:20 UTC (permalink / raw)
  To: linux-kernel; +Cc: Paul Gortmaker, Kostenzer Felix, Andrew Morton

The Makefile currently controlling compilation of this code is:

     lib/Kconfig.debug:config TEST_SORT
     lib/Kconfig.debug:      bool "Array-based sort test"

and...

     lib/Makefile:obj-y += bcd.o div64.o sort.o [...]

...meaning that it currently is not being built as a module by anyone.

Lets remove the couple traces of modular infrastructure use, so that
when reading the code there is no doubt it is builtin-only.

Since module_init translates to device_initcall in the non-modular
case, the init ordering becomes slightly earlier when we change it
to use subsys_initcall as done here.  However, since it is a self
contained test, this shouldn't be an issue and subsys_initcall
seems like a better fit for this particular case.

We also delete the MODULE_LICENSE tag since that information is now
contained at the top of the file in the comments.

Cc: Kostenzer Felix <fkostenzer@live.at>
Cc: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
---

[since this recently appeared in next via the akpm feed, I'm
 fine with this commit being squashed into the original. ]

 lib/sort.c | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/lib/sort.c b/lib/sort.c
index a9b156e7471b..0f2f3adce372 100644
--- a/lib/sort.c
+++ b/lib/sort.c
@@ -1,5 +1,6 @@
 /*
  * A fast, small, non-recursive O(nlog n) sort for the Linux kernel
+ * License: GPL
  *
  * Jan 23 2005  Matt Mackall <mpm@selenic.com>
  */
@@ -106,7 +107,7 @@ EXPORT_SYMBOL(sort);
 
 #ifdef CONFIG_TEST_SORT
 #include <linux/slab.h>
-#include <linux/module.h>
+#include <linux/init.h>
 /* a simple boot-time regression test */
 
 #define TEST_LEN 1000
@@ -143,7 +144,5 @@ static int __init test_sort_init(void)
 	kfree(a);
 	return err;
 }
-
-module_init(test_sort_init);
-MODULE_LICENSE("GPL");
+subsys_initcall(test_sort_init);
 #endif
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH] lib: sort: make it explicitly non-modular
  2017-01-18 16:20 [PATCH] lib: sort: make it explicitly non-modular Paul Gortmaker
@ 2017-01-18 18:03 ` Andy Shevchenko
  2017-01-18 19:31   ` Paul Gortmaker
  0 siblings, 1 reply; 5+ messages in thread
From: Andy Shevchenko @ 2017-01-18 18:03 UTC (permalink / raw)
  To: Paul Gortmaker; +Cc: linux-kernel, Kostenzer Felix, Andrew Morton

On Wed, Jan 18, 2017 at 6:20 PM, Paul Gortmaker
<paul.gortmaker@windriver.com> wrote:
> The Makefile currently controlling compilation of this code is:
>
>      lib/Kconfig.debug:config TEST_SORT
>      lib/Kconfig.debug:      bool "Array-based sort test"
>
> and...
>
>      lib/Makefile:obj-y += bcd.o div64.o sort.o [...]
>
> ...meaning that it currently is not being built as a module by anyone.

Perhaps allow it to be a module?

Besides that perhaps rename to something like test_sort.c ?

-- 
With Best Regards,
Andy Shevchenko

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] lib: sort: make it explicitly non-modular
  2017-01-18 18:03 ` Andy Shevchenko
@ 2017-01-18 19:31   ` Paul Gortmaker
  2017-01-18 20:31     ` Felix Kostenzer
  0 siblings, 1 reply; 5+ messages in thread
From: Paul Gortmaker @ 2017-01-18 19:31 UTC (permalink / raw)
  To: Andy Shevchenko; +Cc: linux-kernel, Kostenzer Felix, Andrew Morton

[Re: [PATCH] lib: sort: make it explicitly non-modular] On 18/01/2017 (Wed 20:03) Andy Shevchenko wrote:

> On Wed, Jan 18, 2017 at 6:20 PM, Paul Gortmaker
> <paul.gortmaker@windriver.com> wrote:
> > The Makefile currently controlling compilation of this code is:
> >
> >      lib/Kconfig.debug:config TEST_SORT
> >      lib/Kconfig.debug:      bool "Array-based sort test"
> >
> > and...
> >
> >      lib/Makefile:obj-y += bcd.o div64.o sort.o [...]
> >
> > ...meaning that it currently is not being built as a module by anyone.
> 
> Perhaps allow it to be a module?

If anything, I'd argue the other way and say we shouldn't be further
polluting Kconfig space with more super specific options.  Instead
something more generic like CONFIG_ENABLE_BOOT_SELF_TESTS that at least
could be shared.

There is no real value in making something a module when it could just
as easily be thrown out as __init code/data.

> 
> Besides that perhaps rename to something like test_sort.c ?

The sort.c was not added just for the test code ; it already existed for
the sort code itself.

Paul.
--



> 
> -- 
> With Best Regards,
> Andy Shevchenko

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] lib: sort: make it explicitly non-modular
  2017-01-18 19:31   ` Paul Gortmaker
@ 2017-01-18 20:31     ` Felix Kostenzer
  2017-01-19  0:41       ` Paul Gortmaker
  0 siblings, 1 reply; 5+ messages in thread
From: Felix Kostenzer @ 2017-01-18 20:31 UTC (permalink / raw)
  To: Paul Gortmaker; +Cc: linux-kernel, akpm, andy.shevchenko

How about the patch ("lib: move sort self-test into a separate file") [1] ?

regards,
Felix.

[1] https://lkml.org/lkml/2017/1/12/255

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] lib: sort: make it explicitly non-modular
  2017-01-18 20:31     ` Felix Kostenzer
@ 2017-01-19  0:41       ` Paul Gortmaker
  0 siblings, 0 replies; 5+ messages in thread
From: Paul Gortmaker @ 2017-01-19  0:41 UTC (permalink / raw)
  To: Felix Kostenzer; +Cc: linux-kernel, akpm, andy.shevchenko

On Wed, Jan 18, 2017 at 3:31 PM, Felix Kostenzer <fkostenzer@live.at> wrote:
> How about the patch ("lib: move sort self-test into a separate file") [1] ?

The Kconfig did not change, so forking out the content to a separate
file doesn't change the fact that it uses module.h for a chunk of code
that can't be a module.  That still remains to be addressed.

Paul.
--

>
> regards,
> Felix.
>
> [1] https://lkml.org/lkml/2017/1/12/255

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2017-01-19  0:41 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-01-18 16:20 [PATCH] lib: sort: make it explicitly non-modular Paul Gortmaker
2017-01-18 18:03 ` Andy Shevchenko
2017-01-18 19:31   ` Paul Gortmaker
2017-01-18 20:31     ` Felix Kostenzer
2017-01-19  0:41       ` Paul Gortmaker

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).