On Mon, Oct 26, 2015 at 07:23:12PM -0700, Hugh Dickins wrote: > On Mon, 19 Oct 2015, Minchan Kim wrote: > > > Stable page could be shared by several processes and last process > > could own the page among them after CoW or zapping for every process > > except last process happens. Then, page table entry of the page > > in last process can have no dirty bit and PG_dirty flag in page->flags. > > In this case, MADV_FREE could discard the page wrongly. > > For preventing it, we mark stable page dirty. > > I agree with the change, but found that comment (repeated in the source) > rather hard to follow. And it doesn't really do justice to the changes > you have made. > > This is not now a MADV_FREE thing, it's more general than that, even > if MADV_FREE is the only thing that takes advantage of it. I like > very much that you've made page reclaim sane, freeing non-dirty > anonymous pages instead of swapping them out, without having to > think of whether it's for MADV_FREE or not. > > Would you mind if we replace your patch by a re-commented version? > > [PATCH] mm: mark stable page dirty in KSM > > The MADV_FREE patchset changes page reclaim to simply free a clean > anonymous page with no dirty ptes, instead of swapping it out; but > KSM uses clean write-protected ptes to reference the stable ksm page. > So be sure to mark that page dirty, so it's never mistakenly discarded. > > Signed-off-by: Minchan Kim <minc...@kernel.org> > Signed-off-by: Hugh Dickins <hu...@google.com>
Looks better than mine. I will include this in my patchset when I respin. Thanks! -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/