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 <minchan@xxxxxxxxxx> > Signed-off-by: Hugh Dickins <hughd@xxxxxxxxxx> Looks better than mine. I will include this in my patchset when I respin. Thanks! -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>