[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.022 / U:2.740 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site