diff -urN -X /usr/share/dontdiff linux.vanilla/include/asm-alpha/page.h linux/include/asm-alpha/page.h --- linux.vanilla/include/asm-alpha/page.h Mon Mar 4 19:33:18 2002 +++ linux/include/asm-alpha/page.h Mon Apr 29 00:43:31 2002 @@ -67,19 +67,7 @@ #define PAGE_BUG(page) BUG() -/* Pure 2^n version of get_order */ -extern __inline__ int get_order(unsigned long size) -{ - int order; - - size = (size-1) >> (PAGE_SHIFT-1); - order = -1; - do { - size >>= 1; - order++; - } while (size); - return order; -} +#include #endif /* !__ASSEMBLY__ */ diff -urN -X /usr/share/dontdiff linux.vanilla/include/asm-arm/page.h linux/include/asm-arm/page.h --- linux.vanilla/include/asm-arm/page.h Wed Mar 20 22:14:41 2002 +++ linux/include/asm-arm/page.h Mon Apr 29 00:44:08 2002 @@ -111,19 +111,7 @@ #endif -/* Pure 2^n version of get_order */ -static inline int get_order(unsigned long size) -{ - int order; - - size = (size-1) >> (PAGE_SHIFT-1); - order = -1; - do { - size >>= 1; - order++; - } while (size); - return order; -} +#include #endif /* !__ASSEMBLY__ */ diff -urN -X /usr/share/dontdiff linux.vanilla/include/asm-generic/get_order.h linux/include/asm-generic/get_order.h --- linux.vanilla/include/asm-generic/get_order.h Thu Jan 1 03:00:00 1970 +++ linux/include/asm-generic/get_order.h Mon Apr 29 00:45:36 2002 @@ -0,0 +1,53 @@ +#ifndef _GET_ORDER_H_ +#define _GET_ORDER_H_ + +/* Pure 2^n version of get_order */ +#define get_order(size) \ + (__builtin_constant_p(size) ? \ + __constant_get_order(size) : \ + __get_order(size)) + +#ifndef __HAVE_ARCH_GET_ORDER +static inline int __get_order(unsigned long size) +{ + int order; + + size = (size-1) >> (PAGE_SHIFT-1); + order = -1; + do { + size >>= 1; + order++; + } while (size); + return order; +} +#endif + +#define CASE_ORDER(order) \ + case (PAGE_SIZE << ((order) - 1)) + 1 ... PAGE_SIZE << (order): \ + return (order) + +static inline int __constant_get_order(unsigned long size) +{ + switch (size) { + case 1 ... PAGE_SIZE: + return 0; + CASE_ORDER(1); + CASE_ORDER(2); + CASE_ORDER(3); + CASE_ORDER(4); + CASE_ORDER(5); + CASE_ORDER(6); + CASE_ORDER(7); + CASE_ORDER(8); + CASE_ORDER(9); + CASE_ORDER(10); + CASE_ORDER(11); + CASE_ORDER(12); + CASE_ORDER(13); + CASE_ORDER(14); + CASE_ORDER(15); + } + return __get_order(size); +} + +#endif diff -urN -X /usr/share/dontdiff linux.vanilla/include/asm-i386/page.h linux/include/asm-i386/page.h --- linux.vanilla/include/asm-i386/page.h Mon Mar 4 19:33:18 2002 +++ linux/include/asm-i386/page.h Mon Apr 29 00:36:47 2002 @@ -109,19 +109,7 @@ BUG(); \ } while (0) -/* Pure 2^n version of get_order */ -static __inline__ int get_order(unsigned long size) -{ - int order; - - size = (size-1) >> (PAGE_SHIFT-1); - order = -1; - do { - size >>= 1; - order++; - } while (size); - return order; -} +#include #endif /* __ASSEMBLY__ */ diff -urN -X /usr/share/dontdiff linux.vanilla/include/asm-ia64/page.h linux/include/asm-ia64/page.h --- linux.vanilla/include/asm-ia64/page.h Wed Mar 20 22:14:41 2002 +++ linux/include/asm-ia64/page.h Mon Apr 29 00:45:15 2002 @@ -110,6 +110,7 @@ #define BUG() do { printk("kernel BUG at %s:%d!\n", __FILE__, __LINE__); *(int *)0=0; } while (0) #define PAGE_BUG(page) do { BUG(); } while (0) +#define __HAVE_ARCH_GET_ORDER static __inline__ int get_order (unsigned long size) { @@ -122,6 +123,8 @@ order = 0; return order; } + +#include # endif /* __KERNEL__ */ #endif /* !__ASSEMBLY__ */ diff -urN -X /usr/share/dontdiff linux.vanilla/include/asm-m68k/page.h linux/include/asm-m68k/page.h --- linux.vanilla/include/asm-m68k/page.h Mon Mar 4 19:33:19 2002 +++ linux/include/asm-m68k/page.h Mon Apr 29 00:43:37 2002 @@ -100,19 +100,7 @@ /* to align the pointer to the (next) page boundary */ #define PAGE_ALIGN(addr) (((addr)+PAGE_SIZE-1)&PAGE_MASK) -/* Pure 2^n version of get_order */ -extern __inline__ int get_order(unsigned long size) -{ - int order; - - size = (size-1) >> (PAGE_SHIFT-1); - order = -1; - do { - size >>= 1; - order++; - } while (size); - return order; -} +#include #endif /* !__ASSEMBLY__ */ diff -urN -X /usr/share/dontdiff linux.vanilla/include/asm-mips/page.h linux/include/asm-mips/page.h --- linux.vanilla/include/asm-mips/page.h Mon Mar 4 19:33:19 2002 +++ linux/include/asm-mips/page.h Mon Apr 29 00:43:25 2002 @@ -49,19 +49,7 @@ #define __pgd(x) ((pgd_t) { (x) } ) #define __pgprot(x) ((pgprot_t) { (x) } ) -/* Pure 2^n version of get_order */ -extern __inline__ int get_order(unsigned long size) -{ - int order; - - size = (size-1) >> (PAGE_SHIFT-1); - order = -1; - do { - size >>= 1; - order++; - } while (size); - return order; -} +#include #endif /* _LANGUAGE_ASSEMBLY */ diff -urN -X /usr/share/dontdiff linux.vanilla/include/asm-parisc/page.h linux/include/asm-parisc/page.h --- linux.vanilla/include/asm-parisc/page.h Mon Mar 4 19:33:19 2002 +++ linux/include/asm-parisc/page.h Mon Apr 29 00:46:19 2002 @@ -33,19 +33,7 @@ #define __pgd(x) ((pgd_t) { (x) } ) #define __pgprot(x) ((pgprot_t) { (x) } ) -/* Pure 2^n version of get_order */ -extern __inline__ int get_order(unsigned long size) -{ - int order; - - size = (size-1) >> (PAGE_SHIFT-1); - order = -1; - do { - size >>= 1; - order++; - } while (size); - return order; -} +#include #endif /* !__ASSEMBLY__ */ diff -urN -X /usr/share/dontdiff linux.vanilla/include/asm-ppc/page.h linux/include/asm-ppc/page.h --- linux.vanilla/include/asm-ppc/page.h Mon Mar 4 19:33:19 2002 +++ linux/include/asm-ppc/page.h Mon Apr 29 00:43:53 2002 @@ -142,19 +142,7 @@ extern unsigned long get_zero_page_fast(void); -/* Pure 2^n version of get_order */ -extern __inline__ int get_order(unsigned long size) -{ - int order; - - size = (size-1) >> (PAGE_SHIFT-1); - order = -1; - do { - size >>= 1; - order++; - } while (size); - return order; -} +#include #endif /* __ASSEMBLY__ */ diff -urN -X /usr/share/dontdiff linux.vanilla/include/asm-ppc64/page.h linux/include/asm-ppc64/page.h --- linux.vanilla/include/asm-ppc64/page.h Tue Apr 23 19:06:36 2002 +++ linux/include/asm-ppc64/page.h Mon Apr 29 00:41:49 2002 @@ -137,19 +137,7 @@ */ #define WANT_PAGE_VIRTUAL 1 -/* Pure 2^n version of get_order */ -extern __inline__ int get_order(unsigned long size) -{ - int order; - - size = (size-1) >> (PAGE_SHIFT-1); - order = -1; - do { - size >>= 1; - order++; - } while (size); - return order; -} +#include #define __pa(x) ((unsigned long)(x)-PAGE_OFFSET) diff -urN -X /usr/share/dontdiff linux.vanilla/include/asm-s390/page.h linux/include/asm-s390/page.h --- linux.vanilla/include/asm-s390/page.h Mon Mar 4 19:33:20 2002 +++ linux/include/asm-s390/page.h Mon Apr 29 00:46:11 2002 @@ -71,19 +71,7 @@ BUG(); \ } while (0) -/* Pure 2^n version of get_order */ -extern __inline__ int get_order(unsigned long size) -{ - int order; - - size = (size-1) >> (PAGE_SHIFT-1); - order = -1; - do { - size >>= 1; - order++; - } while (size); - return order; -} +#include /* * These are used to make use of C type-checking.. diff -urN -X /usr/share/dontdiff linux.vanilla/include/asm-s390x/page.h linux/include/asm-s390x/page.h --- linux.vanilla/include/asm-s390x/page.h Mon Mar 4 19:33:20 2002 +++ linux/include/asm-s390x/page.h Mon Apr 29 00:46:30 2002 @@ -69,19 +69,7 @@ BUG(); \ } while (0) -/* Pure 2^n version of get_order */ -extern __inline__ int get_order(unsigned long size) -{ - int order; - - size = (size-1) >> (PAGE_SHIFT-1); - order = -1; - do { - size >>= 1; - order++; - } while (size); - return order; -} +#include /* * These are used to make use of C type-checking.. diff -urN -X /usr/share/dontdiff linux.vanilla/include/asm-sh/page.h linux/include/asm-sh/page.h --- linux.vanilla/include/asm-sh/page.h Tue Dec 4 12:40:37 2001 +++ linux/include/asm-sh/page.h Mon Apr 29 00:44:14 2002 @@ -102,19 +102,7 @@ BUG(); \ } while (0) -/* Pure 2^n version of get_order */ -static __inline__ int get_order(unsigned long size) -{ - int order; - - size = (size-1) >> (PAGE_SHIFT-1); - order = -1; - do { - size >>= 1; - order++; - } while (size); - return order; -} +#include #endif diff -urN -X /usr/share/dontdiff linux.vanilla/include/asm-sparc/page.h linux/include/asm-sparc/page.h --- linux.vanilla/include/asm-sparc/page.h Mon Mar 4 19:33:20 2002 +++ linux/include/asm-sparc/page.h Mon Apr 29 00:43:47 2002 @@ -150,19 +150,7 @@ #define TASK_UNMAPPED_BASE BTFIXUP_SETHI(sparc_unmapped_base) -/* Pure 2^n version of get_order */ -extern __inline__ int get_order(unsigned long size) -{ - int order; - - size = (size-1) >> (PAGE_SHIFT-1); - order = -1; - do { - size >>= 1; - order++; - } while (size); - return order; -} +#include #else /* !(__ASSEMBLY__) */ diff -urN -X /usr/share/dontdiff linux.vanilla/include/asm-sparc64/page.h linux/include/asm-sparc64/page.h --- linux.vanilla/include/asm-sparc64/page.h Wed Mar 20 22:15:35 2002 +++ linux/include/asm-sparc64/page.h Mon Apr 29 00:44:00 2002 @@ -138,19 +138,7 @@ extern struct sparc_phys_banks sp_banks[SPARC_PHYS_BANKS]; -/* Pure 2^n version of get_order */ -extern __inline__ int get_order(unsigned long size) -{ - int order; - - size = (size-1) >> (PAGE_SHIFT-1); - order = -1; - do { - size >>= 1; - order++; - } while (size); - return order; -} +#include #endif /* !(__ASSEMBLY__) */ diff -urN -X /usr/share/dontdiff linux.vanilla/include/asm-x86_64/page.h linux/include/asm-x86_64/page.h --- linux.vanilla/include/asm-x86_64/page.h Tue Apr 23 19:08:02 2002 +++ linux/include/asm-x86_64/page.h Mon Apr 29 00:41:37 2002 @@ -74,19 +74,7 @@ #define PAGE_BUG(page) BUG() void out_of_line_bug(void); -/* Pure 2^n version of get_order */ -extern __inline__ int get_order(unsigned long size) -{ - int order; - - size = (size-1) >> (PAGE_SHIFT-1); - order = -1; - do { - size >>= 1; - order++; - } while (size); - return order; -} +#include #endif /* __ASSEMBLY__ */