• Jes Sorensen's avatar
    [PATCH] do_no_pfn() · f4b81804
    Jes Sorensen authored
    Implement do_no_pfn() for handling mapping of memory without a struct page
    backing it.  This avoids creating fake page table entries for regions which
    are not backed by real memory.
    
    This feature is used by the MSPEC driver and other users, where it is
    highly undesirable to have a struct page sitting behind the page (for
    instance if the page is accessed in cached mode via the struct page in
    parallel to the the driver accessing it uncached, which can result in data
    corruption on some architectures, such as ia64).
    
    This version uses specific NOPFN_{SIGBUS,OOM} return values, rather than
    expect all negative pfn values would be an error.  It also bugs on cow
    mappings as this would not work with the VM.
    
    [akpm@osdl.org: micro-optimise]
    Signed-off-by: default avatarJes Sorensen <jes@sgi.com>
    Cc: Hugh Dickins <hugh@veritas.com>
    Cc: Nick Piggin <nickpiggin@yahoo.com.au>
    Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
    f4b81804
memory.c 69.6 KB