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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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, 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>




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]