[lkml]   [2003]   [May]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: [RFC][PATCH] Convert do_no_page() to a hook to avoid DFS race
"Paul E. McKenney" <> wrote:
> Rediffed to 2.5.70-mm2.
> This patch allows a distributed filesystem to avoid the
> pagefault/cross-node-invalidate race described in:
> This patch converts the bulk of do_no_page() into a hook that may
> be called from the ->nopage vm_operations_struct callout.

Seems reasonable.

> There
> is still an inlined do_no_page() wrapper due to the fact that
> do_anonymous_page() requires that the mm->page_table_lock be
> held on entry, while the ->nopage callouts require that this
> lock be dropped.

I sugest you change the ->nopage definition so that page_table_lock is held
on entry to ->nopage, and ->nopage must drop it at some point. This gives
the nopage implementations some more flexibility and may perhaps eliminate
that special case?

> This patch is untested.

I don't think there's a lot of point in making changes until the code which
requires those changes is accepted into the tree. Otherwise it may be
pointless churn, and there's nothing in-tree to exercise the new features.

> An alternative to this patch includes the nopagedone() patch posted
> moments ago. hch has also suggested that do_anonymous_page() be
> converted to a ->nopage callout, but this would require that all
> of the other ->nopage callouts drop mm->page_table_lock as their
> first action. If people believe that this is the right thing to
> do, I will happily produce such a patch.

That sounds better to me.

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

 \ /
  Last update: 2005-03-22 13:35    [W:0.123 / U:4.184 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site