lkml.org 
[lkml]   [2010]   [Jan]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    SubjectRe: [RFC][PATCH 6/8] mm: handle_speculative_fault()
    From
    Date
    On Tue, 2010-01-05 at 20:20 -0800, Linus Torvalds wrote:
    >
    > On Wed, 6 Jan 2010, KAMEZAWA Hiroyuki wrote:
    > > >
    > > > Of course, your other load with MADV_DONTNEED seems to be horrible, and
    > > > has some nasty spinlock issues, but that looks like a separate deal (I
    > > > assume that load is just very hard on the pgtable lock).
    > >
    > > It's zone->lock, I guess. My test program avoids pgtable lock problem.
    >
    > Yeah, I should have looked more at your callchain. That's nasty. Much
    > worse than the per-mm lock. I thought the page buffering would avoid the
    > zone lock becoming a huge problem, but clearly not in this case.

    Right, so I ran some numbers on a multi-socket (2) machine as well:

    pf/min

    -tip 56398626
    -tip + xadd 174753190
    -tip + speculative 189274319
    -tip + xadd + speculative 200174641

    [ variance is around 0.5% for this workload, ran most of these numbers
    with --repeat 5 ]

    At both the xadd/speculative point the workload is dominated by the
    zone->lock, the xadd+speculative removes some of the contention, and
    removing the various RSS counters could yield another few percent
    according to the profiles, but then we're pretty much there.

    One way around those RSS counters is to track it per task, a quick grep
    shows its only the oom-killer and proc that use them.

    A quick hack removing them gets us: 203158058

    So from a throughput pov. the whole speculative fault thing might not be
    interesting until the rest of the vm gets a lift to go along with it.

    >From a blocking on mmap_sem pov. I think Linus is right in that we
    should first consider things like dropping mmap_sep around IO and page
    zeroing, and generally looking at reducing hold times and such.

    So while I think its quite feasible to do these speculative faults, it
    appears we're not quite ready for them.

    Maybe I can get -rt to carry it for a while, there we have to reduce
    mmap_sem to a mutex, which hurts lots.




    \
     
     \ /
      Last update: 2010-01-08 17:57    [W:4.235 / U:0.044 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site