Commit f886ed443fedb109e2062988bf120a531f0ec80a

Authored by Andrew Morton
Committed by Linus Torvalds
1 parent 729bd0b74c

[PATCH] PG_uncached is ia64 only

As Nick points out, only ia64 uses PG_uncached.  So we can push it up into the
higher bits of the lower half of page->flags and make room for another flag on
32-bit machines.

Cc: "Luck, Tony" <tony.luck@intel.com>
Cc: Jesse Barnes <jbarnes@sgi.com>
Cc: Jes Sorensen <jes@trained-monkey.org>
Cc: Nick Piggin <nickpiggin@yahoo.com.au>
Cc: Andy Whitcroft <apw@shadowen.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

Showing 1 changed file with 13 additions and 1 deletions Side-by-side Diff

include/linux/page-flags.h
... ... @@ -7,6 +7,8 @@
7 7  
8 8 #include <linux/percpu.h>
9 9 #include <linux/cache.h>
  10 +#include <linux/types.h>
  11 +
10 12 #include <asm/pgtable.h>
11 13  
12 14 /*
... ... @@ -88,7 +90,17 @@
88 90 #define PG_nosave_free 18 /* Free, should not be written */
89 91 #define PG_buddy 19 /* Page is free, on buddy lists */
90 92  
91   -#define PG_uncached 20 /* Page has been mapped as uncached */
  93 +
  94 +#if (BITS_PER_LONG > 32)
  95 +/*
  96 + * 64-bit-only flags build down from bit 31
  97 + *
  98 + * 32 bit -------------------------------| FIELDS | FLAGS |
  99 + * 64 bit | FIELDS | ?????? FLAGS |
  100 + * 63 32 0
  101 + */
  102 +#define PG_uncached 31 /* Page has been mapped as uncached */
  103 +#endif
92 104  
93 105 /*
94 106 * Global page accounting. One instance per CPU. Only unsigned longs are