[lkml]   [2011]   [Jun]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: [PATCH] mmu_notifier, kvm: Introduce dirty bit tracking in spte and mmu notifier to help KSM dirty bit tracking
    On Thu, Jun 23, 2011 at 7:28 AM, Rik van Riel <> wrote:
    > On 06/22/2011 07:13 PM, Nai Xia wrote:
    >> On Wed, Jun 22, 2011 at 11:39 PM, Rik van Riel<>  wrote:
    >>> On 06/22/2011 07:19 AM, Izik Eidus wrote:
    >>>> So what we say here is: it is better to have little junk in the unstable
    >>>> tree that get flushed eventualy anyway, instead of make the guest
    >>>> slower....
    >>>> this race is something that does not reflect accurate of ksm anyway due
    >>>> to the full memcmp that we will eventualy perform...
    >>> With 2MB pages, I am not convinced they will get "flushed eventually",
    >>> because there is a good chance at least one of the 4kB pages inside
    >>> a 2MB page is in active use at all times.
    >>> I worry that the proposed changes may end up effectively preventing
    >>> KSM from scanning inside 2MB pages, when even one 4kB page inside
    >>> is in active use.  This could mean increased swapping on systems
    >>> that run low on memory, which can be a much larger performance penalty
    >>> than ksmd CPU use.
    >>> We need to scan inside 2MB pages when memory runs low, regardless
    >>> of the accessed or dirty bits.
    >> I agree on this point. Dirty bit , young bit, is by no means accurate.
    >> Even
    >> on 4kB pages, there is always a chance that the pte are dirty but the
    >> contents
    >> are actually the same. Yeah, the whole optimization contains trade-offs
    >> and
    >> trades-offs always have the possibilities to annoy  someone.  Just like
    >> page-bit-relying LRU approximations none of them is perfect too. But I
    >> think
    >> it can benefit some people. So maybe we could just provide a generic
    >> balanced
    >> solution but provide fine tuning interfaces to make sure tha when it
    >> really gets
    >> in the way of someone, he has a way to walk around.
    >> Do you agree on my argument? :-)
    > That's not an argument.
    > That is a "if I wave my hands vigorously enough, maybe people
    > will let my patch in without thinking about what I wrote"
    > style argument.

    Oh, NO, this is not what I meant.
    Really sorry if I made myself look so evil...
    I actually mean: "Skip or not, we agree on a point that will not
    harm most people, and provide another interface to let someon
    who _really_ want to take another way."

    I am by no means pushing the idea of "skipping" huge pages.
    I am just not sure about it and want to get a precise idea from
    you. And now I get it.

    > I believe your optimization makes sense for 4kB pages, but
    > is going to be counter-productive for 2MB pages.
    > Your approach of "make ksmd skip over more pages, so it uses
    > less CPU" is likely to reduce the effectiveness of ksm by not
    > sharing some pages.
    > For 4kB pages that is fine, because you'll get around to them
    > eventually.
    > However, the internal use of a 2MB page is likely to be quite
    > different.  Chances are most 2MB pages will have actively used,
    > barely used and free pages inside.
    > You absolutely want ksm to get at the barely used and free
    > sub-pages.  Having just one actively used 4kB sub-page prevent
    > ksm from merging any of the other 511 sub-pages is a problem.

    No, no, I was just not sure about it. I meant we cannot satisfy
    all people but I was not sure which one is good for most of them.

    Sorry, again, if I didn't make it clear.


    > --
    > All rights reversed
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to
    More majordomo info at
    Please read the FAQ at

     \ /
      Last update: 2011-06-23 02:55    [W:0.027 / U:8.656 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site