lkml.org 
[lkml]   [2006]   [Dec]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    SubjectRe: [PATCH] mm: fix page_mkclean_one
    From
    From: Linus Torvalds <torvalds@osdl.org>
    Date: Wed, 27 Dec 2006 16:42:40 -0800 (PST)

    > That's fine. In that situation, you shouldn't need any atomic ops at all,
    > I think all our sw page-table operations are already done under the pte
    > lock.

    This is true, but there is one subtlety to this I want to
    point out in passing.

    That lock can possibly only protect a page of PTEs.

    When NR_CPUS >= CONFIG_SPLIT_PTLOCK_CPUS, the locking is done per page
    of PTEs, not for all of the page tables of an address space at once.

    What this means is that it's really difficult to forcefully block out
    all page table operations for a given mm, and I actually needed to do
    something like this on sparc64 (when growing the TLB lookup hash
    table, you can't let any PTEs change state while the table is
    changing). For my case, I added a spinlock to mm->context since
    actually what I need is to block modifications to the hash table
    itself during PTE changes.
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2006-12-28 01:55    [W:2.893 / U:1.176 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site