Re: [RFC] Cleanup slab headers / API to allow easy addition of new slab allocators

From: Pekka Enberg
Date: Sat Dec 09 2006 - 09:03:39 EST


Hi Christoph,

On 12/8/06, Christoph Lameter <clameter@xxxxxxx> wrote:
+#define SLAB_POISON 0x00000800UL /* DEBUG: Poison objects */
+#define SLAB_HWCACHE_ALIGN 0x00002000UL /* Align objs on cache lines */
+#define SLAB_CACHE_DMA 0x00004000UL /* Use GFP_DMA memory */
+#define SLAB_MUST_HWCACHE_ALIGN 0x00008000UL /* Force alignment even if debuggin is active */

Please fix formatting while you're at it.

+#ifdef CONFIG_SLAB
+#include <linux/slab_def.h>
+#else
+
+/*
+ * Fallback definitions for an allocator not wanting to provide
+ * its own optimized kmalloc definitions (like SLOB).
+ */
+
+#if defined(CONFIG_NUMA) || defined(CONFIG_DEBUG_SLAB)
+#error "SLAB fallback definitions not usable for NUMA or Slab debug"

Do we need this? Shouldn't we just make sure no one can enable
CONFIG_NUMA and CONFIG_DEBUG_SLAB for non-compatible allocators?

-static inline void *kmalloc(size_t size, gfp_t flags)
+void *kmalloc(size_t size, gfp_t flags)

static inline?

+void *kzalloc(size_t size, gfp_t flags)
+{
+ return __kzalloc(size, flags);
+}

same here.
-
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/