]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - include/linux/mm_types.h
Pull video into release branch
[linux-2.6-omap-h63xx.git] / include / linux / mm_types.h
index c3852fd4a1cce59a7d98ceb4b7dcc460d3b0c138..d5bb1796e12b19a1dde4960c2f10d0064a8867b9 100644 (file)
@@ -19,10 +19,16 @@ struct page {
        unsigned long flags;            /* Atomic flags, some possibly
                                         * updated asynchronously */
        atomic_t _count;                /* Usage count, see below. */
-       atomic_t _mapcount;             /* Count of ptes mapped in mms,
+       union {
+               atomic_t _mapcount;     /* Count of ptes mapped in mms,
                                         * to show when page is mapped
                                         * & limit reverse map searches.
                                         */
+               struct {        /* SLUB uses */
+                       short unsigned int inuse;
+                       short unsigned int offset;
+               };
+       };
        union {
            struct {
                unsigned long private;          /* Mapping-private opaque data:
@@ -43,8 +49,18 @@ struct page {
 #if NR_CPUS >= CONFIG_SPLIT_PTLOCK_CPUS
            spinlock_t ptl;
 #endif
+           struct {                    /* SLUB uses */
+               void **lockless_freelist;
+               struct kmem_cache *slab;        /* Pointer to slab */
+           };
+           struct {
+               struct page *first_page;        /* Compound pages */
+           };
+       };
+       union {
+               pgoff_t index;          /* Our offset within mapping. */
+               void *freelist;         /* SLUB: freelist req. slab lock */
        };
-       pgoff_t index;                  /* Our offset within mapping. */
        struct list_head lru;           /* Pageout list, eg. active_list
                                         * protected by zone->lru_lock !
                                         */