Re: [PATCH -v6 2/2] Updating ctime and mtime for memory-mapped files

!MAILaRCHIVE_VOTE_RePLACE
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
To: Anton Salikhmetov <salikhmetov@...>
Cc: Miklos Szeredi <miklos@...>, <peterz@...>, <linux-mm@...>, <jakob@...>, <linux-kernel@...>, <valdis.kletnieks@...>, <riel@...>, <ksm@...>, <staubach@...>, <jesper.juhl@...>, <akpm@...>, <protasnb@...>, <r.e.wolff@...>, <hidave.darkstar@...>, <hch@...>
Date: Friday, January 18, 2008 - 4:22 pm

On Fri, 18 Jan 2008, Anton Salikhmetov wrote:

Your current patches have two problems:
 - they are simply unnecessarily invasive for a relatively simple issue
 - all versions I've looked at closer are buggy too

Example:

	+               if (pte_dirty(*pte) && pte_write(*pte))
	+                       *pte = pte_wrprotect(*pte);

Uhhuh. Looks simple enough. Except it does a non-atomic pte access while 
other CPU's may be accessing it and updating it from their hw page table 
walkers. What will happen? Who knows? I can see lost access bits at a 
minimum.

IOW, this isn't simple code. It's code that it is simple to screw up. In 
this case, you really need to use ptep_set_wrprotect(), for example.

So why not do it in many fewer lines with that simpler vma->dirty flag?

		Linus
--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[PATCH -v6 0/2] Fixing the issue with memory-mapped file times, Anton Salikhmetov, (Thu Jan 17, 6:31 pm)
Re: [PATCH -v6 0/2] Fixing the issue with memory-mapped file..., Anton Salikhmetov, (Fri Jan 18, 3:48 pm)
Re: [PATCH -v6 0/2] Fixing the issue with memory-mapped file..., Anton Salikhmetov, (Fri Jan 18, 6:31 am)
[PATCH -v6 2/2] Updating ctime and mtime for memory-mapped f..., Anton Salikhmetov, (Thu Jan 17, 6:31 pm)
Re: [PATCH -v6 2/2] Updating ctime and mtime for memory-mapp..., Anton Salikhmetov, (Mon Jan 21, 10:36 am)
Re: [PATCH -v6 2/2] Updating ctime and mtime for memory-mapp..., Anton Salikhmetov, (Fri Jan 18, 3:58 pm)
Re: [PATCH -v6 2/2] Updating ctime and mtime for memory-mapp..., Linus Torvalds, (Fri Jan 18, 4:22 pm)
Re: [PATCH -v6 2/2] Updating ctime and mtime for memory-mapp..., Anton Salikhmetov, (Fri Jan 18, 5:03 pm)
Re: [PATCH -v6 2/2] Updating ctime and mtime for memory-mapp..., Anton Salikhmetov, (Fri Jan 18, 6:04 pm)
Re: [PATCH -v6 2/2] Updating ctime and mtime for memory-mapp..., Anton Salikhmetov, (Fri Jan 18, 6:35 pm)
Re: [PATCH -v6 2/2] Updating ctime and mtime for memory-mapp..., Anton Salikhmetov, (Fri Jan 18, 6:39 am)
[PATCH -v6 1/2] Massive code cleanup of sys_msync(), Anton Salikhmetov, (Thu Jan 17, 6:31 pm)
Re: [PATCH -v6 1/2] Massive code cleanup of sys_msync(), Miklos Szeredi, (Fri Jan 18, 5:33 am)
Re: [PATCH -v6 1/2] Massive code cleanup of sys_msync(), Anton Salikhmetov, (Fri Jan 18, 6:30 am)