[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

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



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 redhat com>
AuthorDate:    Tue Nov 18 09:57:56 2008 -0600
Committer:     Benjamin Marzinski <bmarzins 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.


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]