[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