• Andrew Morton's avatar
    [PATCH] memory writeback/invalidation fixes · b2dd8674
    Andrew Morton authored
    From: "David S. Miller" <davem@redhat.com>
    
    This attempts to take care of 2 of the MM todos I had on
    my backlog:
    
    1) Zap the stupid flush_cache_all() thing with more meaningful
       interfaces.
    
    2) Resolve the ptrace user page access issues, first stage.
    
    The "first stage" mentioned for #2 is simply creating the
    user page accesor interfaces.  The next stage needs to be
    mucking with get_user_pages() so that we can control when
    the flush_dcache_page() occurs.  Then we:
    
    1) For every platform where flush_dcache_page() is a non-nop
       add a call to the beginning of copy_{from,to}_user_page().
    2) Make access_process_vm() set the "no dcache flush" bit in
       it's call to get_user_pages().
    
    The idea also was that we'd consolidate the write etc. boolean
    args passed to get_user_pages() into flag bits too.
    
    But at least with the below, we can delete that reminder FIXME
    comment from kernel/ptrace.c, the platforms have the necessary
    tools and just need to make use of it :)
    
    As a bonus I noticed that VMALLOC_VMADDR() did absolutely nothing.
    
    After all of this I only have 1 real TODO left, and that's dealing
    with the SMP TLB/pte invalidation stuff, very low priority until
    someone starts doing more work with sparc32/SMP in 2.6.x :)
    b2dd8674
pgtable.h 4.6 KB