On Fri, Jul 26, 2013 at 01:55:04PM -0700, Andy Lutomirski wrote: > On Fri, Jul 26, 2013 at 1:18 PM, Cyrill Gorcunov <gorcunov@xxxxxxxxx> wrote: > > Andy reported that if file page get reclaimed we loose soft-dirty bit > > if it was there, so save _PAGE_BIT_SOFT_DIRTY bit when page address > > get encoded into pte entry. Thus when #pf happens on such non-present > > pte we can restore it back. > > > > Unless I'm misunderstanding this, it's saving the bit in the > non-present PTE. This sounds wrong -- what happens if the entire pmd It's the same as encoding pgoff in pte entry (pte is not present), but together with pgoff we save soft-bit status, later on #pf we decode pgoff and restore softbit back if it was there, pte itself can't disappear since it holds pgoff information. > (or whatever the next level is called) gets zapped? (Also, what > happens if you unmap a file and map a different file there?) If file pages are remapped to a new place we remember softdity bit status previously has and propagate it to a new pte (as in install_file_pte, old ptes are cleared). If file unmapped then new one mapped, pmd/ptes are cleared (including softbit) and it remains clear until new write happens, if only i've not missed something obvious. -- 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>