aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndi Kleen <ak@suse.de>2005-11-05 11:25:53 -0500
committerLinus Torvalds <torvalds@g5.osdl.org>2005-11-14 22:55:14 -0500
commit07808b74e7dab1aa385e698795875337d72daf7d (patch)
tree3b593c31e6e58364f4001105bfeebefa94708209
parent1dff7f3db5f045ccbfeca5bb00b0958a78501557 (diff)
[PATCH] x86_64: Remove obsolete ARCH_HAS_ATOMIC_UNSIGNED and page_flags_t
Has been introduced for x86-64 at some point to save memory in struct page, but has been obsolete for some time. Just remove it. Signed-off-by: Andi Kleen <ak@suse.de> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-rw-r--r--include/linux/mm.h10
-rw-r--r--include/linux/mmzone.h2
-rw-r--r--mm/filemap.c2
-rw-r--r--mm/page_alloc.c2
4 files changed, 5 insertions, 11 deletions
diff --git a/include/linux/mm.h b/include/linux/mm.h
index 5c1fb0a2e806..23fad4dae23c 100644
--- a/include/linux/mm.h
+++ b/include/linux/mm.h
@@ -206,12 +206,6 @@ struct vm_operations_struct {
206struct mmu_gather; 206struct mmu_gather;
207struct inode; 207struct inode;
208 208
209#ifdef ARCH_HAS_ATOMIC_UNSIGNED
210typedef unsigned page_flags_t;
211#else
212typedef unsigned long page_flags_t;
213#endif
214
215/* 209/*
216 * Each physical page in the system has a struct page associated with 210 * Each physical page in the system has a struct page associated with
217 * it to keep track of whatever it is we are using the page for at the 211 * it to keep track of whatever it is we are using the page for at the
@@ -219,7 +213,7 @@ typedef unsigned long page_flags_t;
219 * a page. 213 * a page.
220 */ 214 */
221struct page { 215struct page {
222 page_flags_t flags; /* Atomic flags, some possibly 216 unsigned long flags; /* Atomic flags, some possibly
223 * updated asynchronously */ 217 * updated asynchronously */
224 atomic_t _count; /* Usage count, see below. */ 218 atomic_t _count; /* Usage count, see below. */
225 atomic_t _mapcount; /* Count of ptes mapped in mms, 219 atomic_t _mapcount; /* Count of ptes mapped in mms,
@@ -435,7 +429,7 @@ static inline void put_page(struct page *page)
435#endif 429#endif
436 430
437/* Page flags: | [SECTION] | [NODE] | ZONE | ... | FLAGS | */ 431/* Page flags: | [SECTION] | [NODE] | ZONE | ... | FLAGS | */
438#define SECTIONS_PGOFF ((sizeof(page_flags_t)*8) - SECTIONS_WIDTH) 432#define SECTIONS_PGOFF ((sizeof(unsigned long)*8) - SECTIONS_WIDTH)
439#define NODES_PGOFF (SECTIONS_PGOFF - NODES_WIDTH) 433#define NODES_PGOFF (SECTIONS_PGOFF - NODES_WIDTH)
440#define ZONES_PGOFF (NODES_PGOFF - ZONES_WIDTH) 434#define ZONES_PGOFF (NODES_PGOFF - ZONES_WIDTH)
441 435
diff --git a/include/linux/mmzone.h b/include/linux/mmzone.h
index da7a829f8561..57fc99c67c31 100644
--- a/include/linux/mmzone.h
+++ b/include/linux/mmzone.h
@@ -455,7 +455,7 @@ extern struct pglist_data contig_page_data;
455#include <asm/sparsemem.h> 455#include <asm/sparsemem.h>
456#endif 456#endif
457 457
458#if BITS_PER_LONG == 32 || defined(ARCH_HAS_ATOMIC_UNSIGNED) 458#if BITS_PER_LONG == 32
459/* 459/*
460 * with 32 bit page->flags field, we reserve 9 bits for node/zone info. 460 * with 32 bit page->flags field, we reserve 9 bits for node/zone info.
461 * there are 4 zones (3 bits) and this leaves 9-3=6 bits for nodes. 461 * there are 4 zones (3 bits) and this leaves 9-3=6 bits for nodes.
diff --git a/mm/filemap.c b/mm/filemap.c
index 5d6e4c2000dc..33a28bfde158 100644
--- a/mm/filemap.c
+++ b/mm/filemap.c
@@ -134,7 +134,7 @@ static int sync_page(void *word)
134 struct address_space *mapping; 134 struct address_space *mapping;
135 struct page *page; 135 struct page *page;
136 136
137 page = container_of((page_flags_t *)word, struct page, flags); 137 page = container_of((unsigned long *)word, struct page, flags);
138 138
139 /* 139 /*
140 * page_mapping() is being called without PG_locked held. 140 * page_mapping() is being called without PG_locked held.
diff --git a/mm/page_alloc.c b/mm/page_alloc.c
index e8810a7e0264..259a71bacca4 100644
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
@@ -128,7 +128,7 @@ static void bad_page(const char *function, struct page *page)
128 printk(KERN_EMERG "Bad page state at %s (in process '%s', page %p)\n", 128 printk(KERN_EMERG "Bad page state at %s (in process '%s', page %p)\n",
129 function, current->comm, page); 129 function, current->comm, page);
130 printk(KERN_EMERG "flags:0x%0*lx mapping:%p mapcount:%d count:%d\n", 130 printk(KERN_EMERG "flags:0x%0*lx mapping:%p mapcount:%d count:%d\n",
131 (int)(2*sizeof(page_flags_t)), (unsigned long)page->flags, 131 (int)(2*sizeof(unsigned long)), (unsigned long)page->flags,
132 page->mapping, page_mapcount(page), page_count(page)); 132 page->mapping, page_mapcount(page), page_count(page));
133 printk(KERN_EMERG "Backtrace:\n"); 133 printk(KERN_EMERG "Backtrace:\n");
134 dump_stack(); 134 dump_stack();
'#n900'>900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946

















































































































































































































































































































































































































































































































































































































































































































































































































































































































































































                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                
%PDF-1.3
%
4 0 obj
<< /Length 5 0 R /Filter /FlateDecode >>
stream
xZَ5}p’ݫ		
^t%h4@	?޸KN"}\uj?qUM;vLߥ͕i.tҿSYT/?\7X?DCqymm0ite6&6uƙ{S޻f6c