diff options
Diffstat (limited to 'include/linux/mm_types.h')
-rw-r--r-- | include/linux/mm_types.h | 25 |
1 files changed, 10 insertions, 15 deletions
diff --git a/include/linux/mm_types.h b/include/linux/mm_types.h index 3d76a433d52..6dc6413f5de 100644 --- a/include/linux/mm_types.h +++ b/include/linux/mm_types.h | |||
@@ -49,32 +49,27 @@ struct page { | |||
49 | * see PAGE_MAPPING_ANON below. | 49 | * see PAGE_MAPPING_ANON below. |
50 | */ | 50 | */ |
51 | /* Second double word */ | 51 | /* Second double word */ |
52 | union { | 52 | struct { |
53 | struct { | 53 | union { |
54 | pgoff_t index; /* Our offset within mapping. */ | 54 | pgoff_t index; /* Our offset within mapping. */ |
55 | void *freelist; /* slub first free object */ | ||
56 | }; | ||
57 | |||
58 | union { | ||
55 | atomic_t _mapcount; /* Count of ptes mapped in mms, | 59 | atomic_t _mapcount; /* Count of ptes mapped in mms, |
56 | * to show when page is mapped | 60 | * to show when page is mapped |
57 | * & limit reverse map searches. | 61 | * & limit reverse map searches. |
58 | */ | 62 | */ |
59 | atomic_t _count; /* Usage count, see below. */ | ||
60 | }; | ||
61 | 63 | ||
62 | struct { /* SLUB cmpxchg_double area */ | 64 | /* Used for cmpxchg_double in slub */ |
63 | void *freelist; | 65 | unsigned long counters; |
64 | union { | 66 | struct { |
65 | unsigned long counters; | ||
66 | struct { | ||
67 | unsigned inuse:16; | 67 | unsigned inuse:16; |
68 | unsigned objects:15; | 68 | unsigned objects:15; |
69 | unsigned frozen:1; | 69 | unsigned frozen:1; |
70 | /* | ||
71 | * Kernel may make use of this field even when slub | ||
72 | * uses the rest of the double word! | ||
73 | */ | ||
74 | atomic_t _count; | ||
75 | }; | ||
76 | }; | 70 | }; |
77 | }; | 71 | }; |
72 | atomic_t _count; /* Usage count, see below. */ | ||
78 | }; | 73 | }; |
79 | 74 | ||
80 | /* Third double word block */ | 75 | /* Third double word block */ |