* page_mkwrite vs pte dirty race in fb_defio
@ 2010-05-25 16:01 Nick Piggin
2010-05-25 18:26 ` Albert Herranz
0 siblings, 1 reply; 4+ messages in thread
From: Nick Piggin @ 2010-05-25 16:01 UTC (permalink / raw)
To: Albert Herranz, aya Kumar, Andrew Morton, Linus Torvalds,
linux-mm
Cc: linux-fsdevel, linux-kernel
Hi,
I couldn't find where this patch (49bbd815fd8) was discussed, so I'll
make my own thread. Adding a few lists to cc because it might be of
interest to driver and filesystem writers.
The old ->page_mkwrite calling convention was causing problems exactly
because of this race, and we solved it by allowing page_mkwrite to
return with the page locked, and the lock will be held until the
pte is marked dirty. See commit b827e496c893de0c0f142abfaeb8730a2fd6b37f.
I hope that should provide a more elegant solution to your problem. I
would really like you to take a look at that, because we already have
filesystem code (NFS) relying on it, and more code we have relying on
this synchronization, the more chance we would find a subtle problem
with it (also it should be just nicer).
Thanks,
Nick
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: page_mkwrite vs pte dirty race in fb_defio
2010-05-25 16:01 page_mkwrite vs pte dirty race in fb_defio Nick Piggin
@ 2010-05-25 18:26 ` Albert Herranz
2010-05-25 18:47 ` Nick Piggin
0 siblings, 1 reply; 4+ messages in thread
From: Albert Herranz @ 2010-05-25 18:26 UTC (permalink / raw)
To: Nick Piggin
Cc: aya Kumar, Andrew Morton, Linus Torvalds, linux-mm, linux-fsdevel,
linux-kernel, linux-fbdev
Hi,
On 05/25/2010 06:01 PM, Nick Piggin wrote:
> Hi,
>
> I couldn't find where this patch (49bbd815fd8) was discussed, so I'll
> make my own thread. Adding a few lists to cc because it might be of
> interest to driver and filesystem writers.
>
The original thread can be found here:
http://marc.info/?l=linux-fbdev&m=127369791432181
> The old ->page_mkwrite calling convention was causing problems exactly
> because of this race, and we solved it by allowing page_mkwrite to
> return with the page locked, and the lock will be held until the
> pte is marked dirty. See commit b827e496c893de0c0f142abfaeb8730a2fd6b37f.
>
Ah, didn't know about that. Thanks for the pointer.
> I hope that should provide a more elegant solution to your problem. I
> would really like you to take a look at that, because we already have
> filesystem code (NFS) relying on it, and more code we have relying on
> this synchronization, the more chance we would find a subtle problem
> with it (also it should be just nicer).
>
So if I undestand it correctly, using the "new" calling convention I should just lock the page on fb_deferred_io_mkwrite() and return VM_FAULT_LOCKED to fix the described race for fb_defio.
> Thanks,
> Nick
>
Thanks,
Albert
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: page_mkwrite vs pte dirty race in fb_defio
2010-05-25 18:26 ` Albert Herranz
@ 2010-05-25 18:47 ` Nick Piggin
2010-05-25 22:13 ` [Bulk] " Albert Herranz
0 siblings, 1 reply; 4+ messages in thread
From: Nick Piggin @ 2010-05-25 18:47 UTC (permalink / raw)
To: Albert Herranz
Cc: aya Kumar, Andrew Morton, Linus Torvalds, linux-mm, linux-fsdevel,
linux-kernel, linux-fbdev
On Tue, May 25, 2010 at 08:26:31PM +0200, Albert Herranz wrote:
> Hi,
>
> On 05/25/2010 06:01 PM, Nick Piggin wrote:
> > Hi,
> >
> > I couldn't find where this patch (49bbd815fd8) was discussed, so I'll
> > make my own thread. Adding a few lists to cc because it might be of
> > interest to driver and filesystem writers.
> >
>
> The original thread can be found here:
> http://marc.info/?l=linux-fbdev&m=127369791432181
Thanks.
> > The old ->page_mkwrite calling convention was causing problems exactly
> > because of this race, and we solved it by allowing page_mkwrite to
> > return with the page locked, and the lock will be held until the
> > pte is marked dirty. See commit b827e496c893de0c0f142abfaeb8730a2fd6b37f.
> >
>
> Ah, didn't know about that. Thanks for the pointer.
>
> > I hope that should provide a more elegant solution to your problem. I
> > would really like you to take a look at that, because we already have
> > filesystem code (NFS) relying on it, and more code we have relying on
> > this synchronization, the more chance we would find a subtle problem
> > with it (also it should be just nicer).
> >
>
> So if I undestand it correctly, using the "new" calling convention I should just lock the page on fb_deferred_io_mkwrite() and return VM_FAULT_LOCKED to fix the described race for fb_defio.
As far as I can see from quick reading of the fb_defio code, yes
that should solve it (provided you lock the page inside the mutex,
of course).
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [Bulk] Re: page_mkwrite vs pte dirty race in fb_defio
2010-05-25 18:47 ` Nick Piggin
@ 2010-05-25 22:13 ` Albert Herranz
0 siblings, 0 replies; 4+ messages in thread
From: Albert Herranz @ 2010-05-25 22:13 UTC (permalink / raw)
To: Nick Piggin
Cc: aya Kumar, Andrew Morton, Linus Torvalds, linux-mm, linux-fsdevel,
linux-kernel, linux-fbdev
On 05/25/2010 08:47 PM, Nick Piggin wrote:
>>> I hope that should provide a more elegant solution to your problem. I
>>> would really like you to take a look at that, because we already have
>>> filesystem code (NFS) relying on it, and more code we have relying on
>>> this synchronization, the more chance we would find a subtle problem
>>> with it (also it should be just nicer).
>>
>> So if I undestand it correctly, using the "new" calling convention I should just lock the page on fb_deferred_io_mkwrite() and return VM_FAULT_LOCKED to fix the described race for fb_defio.
>
> As far as I can see from quick reading of the fb_defio code, yes
> that should solve it (provided you lock the page inside the mutex,
> of course).
>
Ok, thanks. I'm posting a new version as RFT.
Cheers,
Albert
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2010-05-25 22:13 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-05-25 16:01 page_mkwrite vs pte dirty race in fb_defio Nick Piggin
2010-05-25 18:26 ` Albert Herranz
2010-05-25 18:47 ` Nick Piggin
2010-05-25 22:13 ` [Bulk] " Albert Herranz
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).