lkml.org 
[lkml]   [2008]   [Feb]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH] [7/12] GBPAGES: Add an option to disable direct mapping gbpages and a global variable
    Date

    Signed-off-by: Andi Kleen <ak@suse.de>

    ---
    Documentation/x86_64/boot-options.txt | 5 +++++
    arch/x86/mm/init_64.c | 16 ++++++++++++++++
    include/asm-x86/pgtable_64.h | 7 +++++++
    3 files changed, 28 insertions(+)

    Index: linux/arch/x86/mm/init_64.c
    ===================================================================
    --- linux.orig/arch/x86/mm/init_64.c
    +++ linux/arch/x86/mm/init_64.c
    @@ -53,6 +53,22 @@ static unsigned long dma_reserve __initd

    DEFINE_PER_CPU(struct mmu_gather, mmu_gathers);

    +enum gbopt direct_gbpages __meminitdata = GBP_DEFAULT;
    +
    +static int __init parse_direct_gbpages(char *arg)
    +{
    + if (!strcmp(arg, "off")) {
    + direct_gbpages = GBP_OFF;
    + return 0;
    + }
    + if (!strcmp(arg, "on")) {
    + direct_gbpages = GBP_ON;
    + return 0;
    + }
    + return -1;
    +}
    +early_param("direct_gbpages", parse_direct_gbpages);
    +
    /*
    * NOTE: pagetable_init alloc all the fixmap pagetables contiguous on the
    * physical space so we can cache the place of the first one and move
    Index: linux/include/asm-x86/pgtable_64.h
    ===================================================================
    --- linux.orig/include/asm-x86/pgtable_64.h
    +++ linux/include/asm-x86/pgtable_64.h
    @@ -239,6 +239,13 @@ static inline int pud_large(pud_t pte)

    #define update_mmu_cache(vma,address,pte) do { } while (0)

    +enum gbopt {
    + GBP_OFF = -1,
    + GBP_DEFAULT,
    + GBP_ON
    +};
    +extern enum gbopt direct_gbpages;
    +
    /* Encode and de-code a swap entry */
    #define __swp_type(x) (((x).val >> 1) & 0x3f)
    #define __swp_offset(x) ((x).val >> 8)
    Index: linux/Documentation/x86_64/boot-options.txt
    ===================================================================
    --- linux.orig/Documentation/x86_64/boot-options.txt
    +++ linux/Documentation/x86_64/boot-options.txt
    @@ -307,3 +307,8 @@ Debugging
    stuck (default)

    Miscellaneous
    +
    + direct_gbpages=off|on
    + off: Do not use GB pages for kernel direct mapping.
    + on: Use GB pages if hardware supports it, but some heuristic
    + would turn them off.

    \
     
     \ /
      Last update: 2008-02-01 10:59    [W:0.022 / U:31.308 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site