30 May, 2012

1 commit

  • Even if CONFIG_DEBUG_VM=n gcc genereates code for some VM_BUG_ON()

    for example VM_BUG_ON(!PageCompound(page) || !PageHead(page)); in
    do_huge_pmd_wp_page() generates 114 bytes of code.

    But they mostly disappears when I split this VM_BUG_ON into two:

    -VM_BUG_ON(!PageCompound(page) || !PageHead(page));
    +VM_BUG_ON(!PageCompound(page));
    +VM_BUG_ON(!PageHead(page));

    weird... but anyway after this patch code disappears completely.

    add/remove: 0/0 grow/shrink: 7/97 up/down: 135/-1784 (-1649)

    Signed-off-by: Konstantin Khlebnikov
    Cc: Linus Torvalds
    Cc: Geert Uytterhoeven
    Cc: "H. Peter Anvin"
    Cc: Cong Wang
    Cc: Hugh Dickins
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Konstantin Khlebnikov
     

10 Aug, 2010

1 commit


12 Dec, 2009

1 commit


19 Jun, 2008

2 commits

  • Signed-off-by: Ingo Molnar

    Ingo Molnar
     
  • Add some (configurable) expensive sanity checking to catch wrong address
    translations on x86.

    - create linux/mmdebug.h file to be able include this file in
    asm headers to not get unsolvable loops in header files
    - __phys_addr on x86_32 became a function in ioremap.c since
    PAGE_OFFSET, is_vmalloc_addr and VMALLOC_* non-constasts are undefined
    if declared in page_32.h
    - add __phys_addr_const for initializing doublefault_tss.__cr3

    Tested on 386, 386pae, x86_64 and x86_64 numa=fake=2.

    Contains Andi's enable numa virtual address debug patch.

    Signed-off-by: Jiri Slaby
    Cc: Andi Kleen
    Signed-off-by: Ingo Molnar

    Jiri Slaby