From: Daniel Phillips <phillips@arcor.de>
To: "Paul E. McKenney" <paulmck@us.ibm.com>
Cc: Andrew Morton <akpm@digeo.com>,
Christoph Hellwig <hch@infradead.org>,
linux-mm@kvack.org, linux-kernel@vger.kernel.org
Subject: Re: [RFC][PATCH] vm_operation to avoid pagefault/inval race
Date: Sat, 17 May 2003 20:21:56 +0200 [thread overview]
Message-ID: <200305172021.56773.phillips@arcor.de> (raw)
Please don't take lack of response for lack of interest. The generic issue
here is "what are the vfs changes needed to support cross-host mmap?". You
defined the problem nicely.
>
> [...]
>
> 5. One way or another, life is now hard.
Indeed. In brief, ->nopage just doesn't provide adequate coverage to support
the cross-host lock.
> One solution would be for the distributed filesystem to hold
> onto a lock or semaphore upon return from the nopage function.
> The problem is that there is no way to determine (in a timely
> fashion) when it safe to release this lock or semaphore.
>
> The attached patch addresses this by adding a nopagedone
> function for when do_no_page() exits. The filesystem may then
> drop the lock or semaphore in this nopagedone function.
>
> Thoughts? Is there some other existing way to get this done?
There is. One way is to make all of do_no_page a hook, and clearly this is
more generic than what you proposed, since it covers your hook and the rest
can be done with library calls. Once you've gone there, the next question to
ask is "what use is the existing ->nopage" hook, and the answer is: none,
really. The existing usage of ->nopage can be replaced by ->do_no_page plus
library code, and the only problem is, we have to change pretty well every
filesystem in and out of tree. So that gets a little, em, interesting from
the 2.6.0 point of view, which is why I cc'd Andrew on this. Christoph has
also expressed interest in this, which explains the other cc.
Any clustered filesystem that wants to support posix mmap is going to need
this hook, so the sooner we hash this out, the better.
Regards,
Daniel
--
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:"aart@kvack.org"> aart@kvack.org </a>
next reply other threads:[~2003-05-17 18:21 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-05-17 18:21 Daniel Phillips [this message]
2003-05-17 19:49 ` Andrew Morton
2003-05-20 1:23 ` Paul E. McKenney
2003-05-20 8:11 ` Andrew Morton
2003-05-23 14:35 ` [RFC][PATCH] Avoid vmtruncate/mmap-page-fault race Paul E. McKenney
2003-05-23 16:21 ` Hugh Dickins
2003-05-23 17:10 ` Daniel Phillips
2003-05-23 17:47 ` Hugh Dickins
-- strict thread matches above, loose matches on Subject: below --
2003-05-13 20:53 [RFC][PATCH] vm_operation to avoid pagefault/inval race Paul E. McKenney
2003-05-17 16:06 ` Christoph Hellwig
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=200305172021.56773.phillips@arcor.de \
--to=phillips@arcor.de \
--cc=akpm@digeo.com \
--cc=hch@infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=paulmck@us.ibm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox