]> Pileus Git - ~andy/linux/blobdiff - include/linux/slub_def.h
Merge branch 'x86/urgent' into x86-mm
[~andy/linux] / include / linux / slub_def.h
index 8b6e8ae5d5cabcd6f267405a1007d56de0070b64..45ca123e800219777001f75113324f6cfd60486f 100644 (file)
@@ -32,10 +32,14 @@ enum stat_item {
        DEACTIVATE_TO_TAIL,     /* Cpu slab was moved to the tail of partials */
        DEACTIVATE_REMOTE_FREES,/* Slab contained remotely freed objects */
        ORDER_FALLBACK,         /* Number of times fallback was necessary */
+       CMPXCHG_DOUBLE_CPU_FAIL,/* Failure of this_cpu_cmpxchg_double */
        NR_SLUB_STAT_ITEMS };
 
 struct kmem_cache_cpu {
-       void **freelist;        /* Pointer to first free per cpu object */
+       void **freelist;        /* Pointer to next available object */
+#ifdef CONFIG_CMPXCHG_LOCAL
+       unsigned long tid;      /* Globally unique transaction id */
+#endif
        struct page *page;      /* The slab from which we are allocating */
        int node;               /* The node of the page (or -1 for debug) */
 #ifdef CONFIG_SLUB_STATS
@@ -70,6 +74,7 @@ struct kmem_cache {
        struct kmem_cache_cpu __percpu *cpu_slab;
        /* Used for retriving partial slabs etc */
        unsigned long flags;
+       unsigned long min_partial;
        int size;               /* The size of an object including meta data */
        int objsize;            /* The size of an object without meta data */
        int offset;             /* Free pointer offset. */
@@ -83,7 +88,7 @@ struct kmem_cache {
        void (*ctor)(void *);
        int inuse;              /* Offset to metadata */
        int align;              /* Alignment */
-       unsigned long min_partial;
+       int reserved;           /* Reserved bytes at the end of slabs */
        const char *name;       /* Name (only for display!) */
        struct list_head list;  /* List of slab caches */
 #ifdef CONFIG_SYSFS