lkml.org 
[lkml]   [2005]   [Oct]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH 2/9] mm: arm ready for split ptlock
    On Wed, 26 Oct 2005, Russell King wrote:

    > On Tue, Oct 25, 2005 at 11:00:09AM -0400, Nicolas Pitre wrote:
    >
    > > Argh... So only suffice to s/pte_write/pte_dirty/ I'd guess?
    >
    > No. If we're emulating a cmpxchg() on a clean BSS page, this code
    > as it stands today will write to the zero page making it a page which
    > is mostly zero. Bad news when it's mapped into other processes BSS
    > pages.
    >
    > Changing this for pte_dirty() means that we'll refuse to do a cmpxchg()
    > on a clean BSS page. The data may compare correctly, but because it
    > isn't already dirty, you'll fail.

    Does it matter? I'd say no. OK we _know_ that it should have worked,
    but user space must be ready to deal with cmpxchg failing and reattempt
    the operation. It never cares about the reason for which it might have
    failed in all the cases I've seen. The second time, the page will have
    been marked dirty and things will proceed normally.

    This is of course not perfect but should be pretty damn good enough
    given that the number of machine instances on this planet that _might_
    need to rely on that code are truely non standard (i.e. pre ARMv6 SMP)
    and can be counted on my fingers. The only other "solution" is to
    always return failure and simply deny NPTL support for those classes of
    machines.


    Nicolas
    -
    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: 2005-10-26 03:31    [W:5.803 / U:0.396 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site