lkml.org 
[lkml]   [2008]   [Aug]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[PATCH 4/6] VM: Annotate pagealloc
    Valgrind annotations for valgrind: memory is addressable once it's been
    alloced, and unaddressable when it is freed again. Can't use malloc-like
    and free-like because valgrind considers a malloc-like chunk indivisible.

    Signed-off-by: Steve VanDeBogart <vandebo-lkml@nerdbox.net>
    ---

    Index: linux-2.6.27-rc5/mm/page_alloc.c
    ===================================================================
    --- linux-2.6.27-rc5.orig/mm/page_alloc.c 2008-08-29 14:24:27.000000000 -0700
    +++ linux-2.6.27-rc5/mm/page_alloc.c 2008-08-29 14:24:37.000000000 -0700
    @@ -46,6 +46,7 @@
    #include <linux/page-isolation.h>
    #include <linux/memcontrol.h>
    #include <linux/debugobjects.h>
    +#include <linux/memcheck.h>

    #include <asm/tlbflush.h>
    #include <asm/div64.h>
    @@ -1080,6 +1081,7 @@
    if (!page)
    goto failed;
    }
    + VALGRIND_MAKE_MEM_UNDEFINED(page_address(page), PAGE_SIZE << order);

    __count_zone_vm_events(PGALLOC, zone, 1 << order);
    zone_statistics(preferred_zone, zone);
    @@ -1679,6 +1681,8 @@
    void __free_pages(struct page *page, unsigned int order)
    {
    if (put_page_testzero(page)) {
    + VALGRIND_MAKE_MEM_NOACCESS(page_address(page),
    + PAGE_SIZE << order);
    if (order == 0)
    free_hot_page(page);
    else

    \
     
     \ /
      Last update: 2008-08-30 01:21    [W:0.020 / U:30.656 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site