[Cluster-devel] Re: cluster: RHEL5 - gfs-kmod: workaround for bz472062. Prefault user pages

Fabio M. Di Nitto fdinitto at redhat.com
Wed Nov 19 05:28:36 UTC 2008


On Tue, 18 Nov 2008, Benjamin Marzinski wrote:

> Gitweb:        http://git.fedorahosted.org/git/cluster.git?p=cluster.git;a=commitdiff;h=f8db02213bbab00d8852ab889d92a921197ce20d
> Commit:        f8db02213bbab00d8852ab889d92a921197ce20d
> Parent:        1296918baf0672815611aedcd537f9d558ceefd6
> Author:        Benjamin Marzinski <bmarzins at redhat.com>
> AuthorDate:    Tue Nov 18 09:57:56 2008 -0600
> Committer:     Benjamin Marzinski <bmarzins at redhat.com>
> CommitterDate: Tue Nov 18 09:57:56 2008 -0600
>
> gfs-kmod: workaround for bz472062. Prefault user pages
>
> The bug uncovered in 472062 does not seem fixable without a massive
> change to how gfs works.  There is a lock ordering mismatch between
> the process address space lock and the glocks. The only good way to
> avoid this in all cases is to not hold the glock for so long, which
> is what gfs2 does. This is impossible without completely changing
> how gfs does locking.  Fortunately, this is only a problem when you
> have multiple processes sharing an address space, and are doing IO
> to a gfs file with a userspace buffer that's part of an mmapped gfs
> file. In this case, prefaulting the buffer's pages immediately
> before acquiring the glocks significantly shortens the window for
> this deadlock. Closing the window any more causes a large
> performance hit.

Is this fix suitable for master and STABLE2 branches as well?

Fabio

--
I'm going to make him an offer he can't refuse.




More information about the Cluster-devel mailing list