On Wed, Jul 24, 2013 at 11:15 AM, Cyrill Gorcunov <gorcunov@xxxxxxxxx> wrote: > On Wed, Jul 24, 2013 at 10:42:24AM -0700, Andy Lutomirski wrote: >> > >> > Lets just be clear about the problem first: the vmscan pass referred to >> > above happens only on clean pages, so the soft dirty bit could only be >> > set if the page was previously dirty and got written back. Now it's an >> > exercise for the reader whether we want to reinstantiate a cleaned >> > evicted page for the purpose of doing an iterative migration or whether >> > we want to flip the page in the migrated entity to be evicted (so if it >> > gets referred to, it pulls in an up to date copy) ... assuming the >> > backing file also gets transferred, of course. > > Good question! I rather forward it to Pavel as an author for soft dirty > bit feature. Pavel? > >> I think I understand your distinction. Nonetheless, given the loss of >> the soft-dirty bit, the migration tool could fail to notice that the >> pages was dirtied and subsequently cleaned and evicted. I'm >> unconvinced that doing this on a per-PTE basis is the right way, >> though. > > I fear for tracking soft-dirty-bit for swapped entries we sinply have > no other place than pte (still i'm quite open for ideas, maybe there > are a better way which I've missed). I know approximately nothing about how swap and anon_vma work. For files, sticking it in struct page seems potentially nicer, although finding a free bit might be tough. (FWIW, I have plans to free up a page flag on x86 some time moderately soon as part of a completely unrelated project.) I think this stuff really belongs to the address_space more than it belongs to the pte. How do you handle the write syscall? --Andy -- 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>