Re: [PATCH] mm: Save soft-dirty bits on swapped pages

From: Pavel Emelyanov
Date: Wed Jul 24 2013 - 14:55:56 EST

On 07/24/2013 10:52 PM, Cyrill Gorcunov wrote:
> On Wed, Jul 24, 2013 at 11:21:46AM -0700, Andy Lutomirski wrote:
>>> 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.
> 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?

The soft-dirty thing watches changes in the virtual memory, not in
the physical one.

>> How do you handle the write syscall?
> I fear I somehow miss your point here, could please alaborate a bit?
> There is no additional code I know of being write() specific, just
> a code for #PF exceptions.
> .

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at