Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1212547 > unrolled thread

[PATCH 02/10] mm: make slab_common.c explicitly non-modular

Started byPaul Gortmaker <paul.gortmaker@windriver.com>
First post2015-08-25 00:20 +0200
Last post2015-08-25 17:40 +0200
Articles 3 — 2 participants

Back to article view | Back to linux.kernel

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  [PATCH 02/10] mm: make slab_common.c explicitly non-modular Paul Gortmaker <paul.gortmaker@windriver.com> - 2015-08-25 00:20 +0200
    Re: [PATCH 02/10] mm: make slab_common.c explicitly non-modular Christoph Lameter <cl@linux.com> - 2015-08-25 17:00 +0200
      Re: [PATCH 02/10] mm: make slab_common.c explicitly non-modular Paul Gortmaker <paul.gortmaker@windriver.com> - 2015-08-25 17:40 +0200

#1212547 — [PATCH 02/10] mm: make slab_common.c explicitly non-modular

FromPaul Gortmaker <paul.gortmaker@windriver.com>
Date2015-08-25 00:20 +0200
Subject[PATCH 02/10] mm: make slab_common.c explicitly non-modular
Message-ID<q18fU-4hZ-17@gated-at.bofh.it>
The Makefile currently controlling compilation of this code is obj-y
meaning that it currently is not being built as a module by anyone.

Lets remove the couple traces of modularity 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 remains unchanged with this commit.  However
one could argue that subsys_initcall() might make more sense here.

Cc: Christoph Lameter <cl@linux.com>
Cc: Pekka Enberg <penberg@kernel.org>
Cc: David Rientjes <rientjes@google.com>
Cc: Joonsoo Kim <iamjoonsoo.kim@lge.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: linux-mm@kvack.org
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
---
 mm/slab_common.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/mm/slab_common.c b/mm/slab_common.c
index 5ce4faeb16fb..a27aff8d7cdc 100644
--- a/mm/slab_common.c
+++ b/mm/slab_common.c
@@ -10,7 +10,7 @@
 #include <linux/interrupt.h>
 #include <linux/memory.h>
 #include <linux/compiler.h>
-#include <linux/module.h>
+#include <linux/init.h>
 #include <linux/cpu.h>
 #include <linux/uaccess.h>
 #include <linux/seq_file.h>
@@ -1113,7 +1113,7 @@ static int __init slab_proc_init(void)
 						&proc_slabinfo_operations);
 	return 0;
 }
-module_init(slab_proc_init);
+device_initcall(slab_proc_init);
 #endif /* CONFIG_SLABINFO */
 
 static __always_inline void *__do_krealloc(const void *p, size_t new_size,
-- 
2.5.0

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

[toc] | [next] | [standalone]


#1213097

FromChristoph Lameter <cl@linux.com>
Date2015-08-25 17:00 +0200
Message-ID<q1nRF-1aY-27@gated-at.bofh.it>
In reply to#1212547
On Mon, 24 Aug 2015, Paul Gortmaker wrote:

> @@ -1113,7 +1113,7 @@ static int __init slab_proc_init(void)
>  						&proc_slabinfo_operations);
>  	return 0;
>  }
> -module_init(slab_proc_init);
> +device_initcall(slab_proc_init);
>  #endif /* CONFIG_SLABINFO */
>
>  static __always_inline void *__do_krealloc(const void *p, size_t new_size,

True memory management is not a module. But its also not a device.

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

[toc] | [prev] | [next] | [standalone]


#1213121

FromPaul Gortmaker <paul.gortmaker@windriver.com>
Date2015-08-25 17:40 +0200
Message-ID<q1oun-2cl-61@gated-at.bofh.it>
In reply to#1213097
On 2015-08-25 10:59 AM, Christoph Lameter wrote:
> On Mon, 24 Aug 2015, Paul Gortmaker wrote:
> 
>> @@ -1113,7 +1113,7 @@ static int __init slab_proc_init(void)
>>  						&proc_slabinfo_operations);
>>  	return 0;
>>  }
>> -module_init(slab_proc_init);
>> +device_initcall(slab_proc_init);
>>  #endif /* CONFIG_SLABINFO */
>>
>>  static __always_inline void *__do_krealloc(const void *p, size_t new_size,
> 
> True memory management is not a module. But its also not a device.

Per the 0/N I'd rather make it equivalent to what it was already
at this point in time and then consider making it a core_initcall
or post_core early in the next dev cycle if we want to give it
a more appropriately matching category, so we can then watch for
init reordering fallout with more time on our hands.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web