Messages in this thread | | | From | Andy Lutomirski <> | Date | Wed, 24 Jul 2013 12:40:22 -0700 | Subject | Re: [PATCH] mm: Save soft-dirty bits on swapped pages |
| |
On Wed, Jul 24, 2013 at 12:04 PM, Cyrill Gorcunov <gorcunov@gmail.com> wrote: > On Wed, Jul 24, 2013 at 10:55:41PM +0400, Pavel Emelyanov wrote: >> > >> > Well, some part of information already lays in pte (such as 'file' bit, >> > swap entries) so it looks natural i think to work on this level. but >> > letme think if use page struct for that be more convenient... >> >> It hardly will be. Consider we have a page shared between two tasks, >> then first one "touches" it and soft-dirty is put onto his PTE and, >> subsequently, the page itself. The we go and clear sofr-dirty for the >> 2nd task. What should we do with the soft-dirty bit on the page? > > Indeed, this won't help. Well then, bippidy-boppidy-boo, our > pants are metaphorically on fire (c)
Hmm. So there are at least three kinds of memory:
Anonymous pages: soft-dirty works Shared file-backed pages: soft-dirty does not work Private file-backed pages: soft-dirty works (but see below)
Perhaps another bit should be allocated to expose to userspace either "soft-dirty", "soft-clean", or "soft-dirty unsupported"?
There's another possible issue with private file-backed pages, though: how do you distinguish clean-and-not-cowed from cowed-but-soft-clean? (The former will reflect changes in the underlying file, I think, but the latter won't.)
--Andy
| |