linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
* git-slab plus git-tip breaks i386 allnoconfig
@ 2008-10-09 23:47 Andrew Morton
  2008-10-10  0:03 ` Andrew Morton
  0 siblings, 1 reply; 11+ messages in thread
From: Andrew Morton @ 2008-10-09 23:47 UTC (permalink / raw)
  To: Pekka Enberg, Ingo Molnar; +Cc: linux-mm

In file included from include/linux/rcupdate.h:39,
                 from include/linux/marker.h:16,
                 from include/linux/kmemtrace.h:13,
                 from include/linux/slub_def.h:13,
                 from include/linux/slab.h:184,
                 from include/asm/pgtable_32.h:21,
                 from include/asm/pgtable.h:394,
                 from include/linux/mm.h:40,
                 from arch/x86/mm/pgtable.c:1:
include/linux/percpu.h: In function '__percpu_alloc_mask':
include/linux/percpu.h:108: error: implicit declaration of function 'kzalloc'
include/linux/percpu.h:108: warning: return makes pointer from integer without a cast
In file included from include/asm/pgtable_32.h:21,
                 from include/asm/pgtable.h:394,
                 from include/linux/mm.h:40,
                 from arch/x86/mm/pgtable.c:1:
include/linux/slab.h: At top level:
include/linux/slab.h:336: error: conflicting types for 'kzalloc'
include/linux/percpu.h:108: error: previous implicit declaration of 'kzalloc' was here
In file included from include/linux/rcupdate.h:39,


but that file includes slab.h, so I suspect we have some recursive
include snafu somewhere which caused the slab.h inclusion to get
skipped.

Shudder.   I'll locally use this notapatch:

--- a/include/linux/percpu.h~a
+++ a/include/linux/percpu.h
@@ -103,15 +103,12 @@ extern void percpu_free(void *__pdata);
 
 #define percpu_ptr(ptr, cpu) ({ (void)(cpu); (ptr); })
 
-static __always_inline void *__percpu_alloc_mask(size_t size, gfp_t gfp, cpumask_t *mask)
-{
-	return kzalloc(size, gfp);
-}
-
-static inline void percpu_free(void *__pdata)
-{
-	kfree(__pdata);
-}
+/*
+ * __percpu_alloc_mask() and percpu_free() are macros to simplify header
+ * dependencies
+ */
+#define __percpu_alloc_mask(size, gfp, maskp) kzalloc(size, gfp)
+#define percpu_free(pdata) kfree(pdata)
 
 #endif /* CONFIG_SMP */
 

Whoever merges second gets to fix this for real - have fun ;)



--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

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

end of thread, other threads:[~2008-10-10  9:06 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-10-09 23:47 git-slab plus git-tip breaks i386 allnoconfig Andrew Morton
2008-10-10  0:03 ` Andrew Morton
2008-10-10  6:45   ` Pekka Enberg
2008-10-10  7:18     ` Mathieu Desnoyers
2008-10-10  7:23       ` Ingo Molnar
2008-10-10  7:37         ` [PATCH] Markers : revert synchronize marker unregister static inline Mathieu Desnoyers
2008-10-10  7:43           ` Pekka Enberg
2008-10-10  7:48             ` [PATCH] Markers : revert synchronize marker unregister static inline (update) Mathieu Desnoyers
2008-10-10  8:36               ` Ingo Molnar
2008-10-10  9:06             ` [PATCH] Markers : revert synchronize marker unregister static inline Ingo Molnar
2008-10-10  7:44         ` git-slab plus git-tip breaks i386 allnoconfig Mathieu Desnoyers

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox