Patch: Kill Page_Skip

From: Russell King (rmk@arm.linux.org.uk)
Date: Mon Aug 28 2000 - 18:29:53 EDT

  • Next message: Alan Cox: "Re: [PATCH] thread wakeup fix for 2.4.0-test7"

    Hi,

    Since PG_skip is no longer used in the generic kernel code, and only
    used by a couple of architectures in their architecture specific
    code, it seems reasonable to remove these definitions from each
    asm-*/pgtable.h file. The attached patch does this.

    The two affected architectures are: MIPS64/SGI and ARM.
    (The ARM bits are not included in this patch).

    Can all architecture maintainers please give this patch a go and
    report back on success/failures.

    I'm not a MIPS64/sgi expert, so I've not removed PG_skip wholely
    from that architecture (maybe someone who is can look at the
    feasibility of removing it?)

    (If I've missed anyone/mismailed anyone, can they please let me know).

    diff -urN linux-orig/arch/mips64/sgi-ip27/ip27-memory.c linux/arch/mips64/sgi-ip27/ip27-memory.c
    --- linux-orig/arch/mips64/sgi-ip27/ip27-memory.c Thu Aug 10 20:45:49 2000
    +++ linux/arch/mips64/sgi-ip27/ip27-memory.c Sun Aug 13 10:19:49 2000
    @@ -32,6 +32,12 @@
     #define PFN_UP(x) (((x) + PAGE_SIZE-1) >> PAGE_SHIFT)
     #define SLOT_IGNORED 0xffff
     
    +/* FIXME:
    + * PG_skip is used on sparc/sparc64 architectures to "skip" certain
    + * parts of the address space.
    + */
    +#define PG_skip 10
    +
     short slot_lastfilled_cache[MAX_COMPACT_NODES];
     unsigned short slot_psize_cache[MAX_COMPACT_NODES][MAX_MEM_SLOTS];
     static pfn_t numpages;
    @@ -250,6 +256,9 @@
                                             PLAT_NODE_DATA_SIZE(node);
             }
     }
    +
    +/* Needs to be defined here and not in linux/mm.h, as it is arch dependent */
    +#define PageSkip(page) test_bit(PG_skip, &(page)->flags)
     
     void __init mem_init(void)
     {
    diff -urN linux-orig/include/asm-alpha/pgtable.h linux/include/asm-alpha/pgtable.h
    --- linux-orig/include/asm-alpha/pgtable.h Thu Aug 10 20:46:32 2000
    +++ linux/include/asm-alpha/pgtable.h Sun Aug 13 10:07:49 2000
    @@ -304,7 +304,6 @@
     #define module_unmap vfree
     
     /* Needs to be defined here and not in linux/mm.h, as it is arch dependent */
    -#define PageSkip(page) (0)
     #define kern_addr_valid(addr) (1)
     
     #define io_remap_page_range(start, busaddr, size, prot) \
    diff -urN linux-orig/include/asm-i386/pgtable.h linux/include/asm-i386/pgtable.h
    --- linux-orig/include/asm-i386/pgtable.h Thu Aug 10 20:46:32 2000
    +++ linux/include/asm-i386/pgtable.h Sun Aug 13 10:07:49 2000
    @@ -333,7 +333,6 @@
     #endif /* !__ASSEMBLY__ */
     
     /* Needs to be defined here and not in linux/mm.h, as it is arch dependent */
    -#define PageSkip(page) (0)
     #define kern_addr_valid(addr) (1)
     
     #define io_remap_page_range remap_page_range
    diff -urN linux-orig/include/asm-ia64/pgtable.h linux/include/asm-ia64/pgtable.h
    --- linux-orig/include/asm-ia64/pgtable.h Sat Aug 26 19:56:38 2000
    +++ linux/include/asm-ia64/pgtable.h Sat Aug 26 19:48:03 2000
    @@ -413,8 +413,7 @@
     #define module_unmap vfree
     
     /* Needs to be defined here and not in linux/mm.h, as it is arch dependent */
    -#define PageSkip(page) (0)
    -
     #define io_remap_page_range remap_page_range /* XXX is this right? */
     
     /*
    diff -urN linux-orig/include/asm-m68k/pgtable.h linux/include/asm-m68k/pgtable.h
    --- linux-orig/include/asm-m68k/pgtable.h Thu Aug 10 20:46:32 2000
    +++ linux/include/asm-m68k/pgtable.h Sun Aug 13 10:07:49 2000
    @@ -394,7 +394,6 @@
     #define module_unmap vfree
     
     /* Needs to be defined here and not in linux/mm.h, as it is arch dependent */
    -#define PageSkip(page) (0)
     #define kern_addr_valid(addr) (1)
     
     #define io_remap_page_range remap_page_range
    diff -urN linux-orig/include/asm-mips/pgtable.h linux/include/asm-mips/pgtable.h
    --- linux-orig/include/asm-mips/pgtable.h Thu Aug 10 20:46:33 2000
    +++ linux/include/asm-mips/pgtable.h Sun Aug 13 10:07:49 2000
    @@ -456,7 +456,6 @@
     #define module_unmap vfree
     
     /* Needs to be defined here and not in linux/mm.h, as it is arch dependent */
    -#define PageSkip(page) (0)
     #define kern_addr_valid(addr) (1)
     
     /* TLB operations. */
    diff -urN linux-orig/include/asm-mips64/pgtable.h linux/include/asm-mips64/pgtable.h
    --- linux-orig/include/asm-mips64/pgtable.h Thu Aug 10 20:46:33 2000
    +++ linux/include/asm-mips64/pgtable.h Sun Aug 13 10:06:01 2000
    @@ -529,7 +529,6 @@
     #define module_unmap vfree
     
     /* Needs to be defined here and not in linux/mm.h, as it is arch dependent */
    -#define PageSkip(page) test_bit(PG_skip, &(page)->flags)
     #ifndef CONFIG_DISCONTIGMEM
     #define kern_addr_valid(addr) (1)
     #endif
    diff -urN linux-orig/include/asm-ppc/pgtable.h linux/include/asm-ppc/pgtable.h
    --- linux-orig/include/asm-ppc/pgtable.h Thu Aug 10 20:46:33 2000
    +++ linux/include/asm-ppc/pgtable.h Sun Aug 13 10:07:49 2000
    @@ -483,7 +483,6 @@
                                      unsigned int cmode);
     
     /* Needs to be defined here and not in linux/mm.h, as it is arch dependent */
    -#define PageSkip(page) (0)
     #define kern_addr_valid(addr) (1)
     
     #define io_remap_page_range remap_page_range
    diff -urN linux-orig/include/asm-s390/pgtable.h linux/include/asm-s390/pgtable.h
    --- linux-orig/include/asm-s390/pgtable.h Thu Aug 10 20:46:34 2000
    +++ linux/include/asm-s390/pgtable.h Sun Aug 13 10:07:49 2000
    @@ -411,7 +411,6 @@
     #endif /* !__ASSEMBLY__ */
     
     /* Needs to be defined here and not in linux/mm.h, as it is arch dependent */
    -#define PageSkip(page) (0)
     #define kern_addr_valid(addr) (1)
     
     #endif /* _S390_PAGE_H */
    diff -urN linux-orig/include/asm-sh/pgtable.h linux/include/asm-sh/pgtable.h
    --- linux-orig/include/asm-sh/pgtable.h Thu Aug 10 20:46:35 2000
    +++ linux/include/asm-sh/pgtable.h Sun Aug 13 10:07:49 2000
    @@ -256,7 +256,6 @@
     #endif /* !__ASSEMBLY__ */
     
     /* Needs to be defined here and not in linux/mm.h, as it is arch dependent */
    -#define PageSkip(page) (0)
     #define kern_addr_valid(addr) (1)
     
     #define io_remap_page_range remap_page_range

       _____
      |_____| ------------------------------------------------- ---+---+-
      | | Russell King rmk@arm.linux.org.uk --- ---
      | | | | http://www.arm.linux.org.uk/personal/aboutme.html / / |
      | +-+-+ --- -+-
      / | THE developer of ARM Linux |+| /|\
     / | | | --- |
        +-+-+ ------------------------------------------------- /\\\ |
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    Please read the FAQ at http://www.tux.org/lkml/



    This archive was generated by hypermail 2b29 : Mon Aug 28 2000 - 18:33:08 EDT