From: David Teigland <teigland@redhat.com>
To: cluster-devel.redhat.com
Subject: [Cluster-devel] gfs2: skip dlm_unlock calls in unmount
Date: Thu, 8 Nov 2012 14:59:42 -0500 [thread overview]
Message-ID: <20121108195942.GD25932@redhat.com> (raw)
In-Reply-To: <1352400499.2770.59.camel@menhir>
On Thu, Nov 08, 2012 at 06:48:19PM +0000, Steven Whitehouse wrote:
> > Converting to NL would actually be less expensive than unlock because the
> > NL convert does not involve a reply message, but unlock does.
> >
> I'm not entirely sure I follow... at least from the filesystem point of
> view (and without your proposed change) both conversions and unlocks
> result in a reply. Is this a dlm internal reply perhaps?
Right, I was refering to the internal dlm reply over the network.
> > So skipping the unlocks is a first step that gives us a big benefit very
> > simply. To benefit even further, we could later look into skipping the
> > "convert to NL" step also, and just abandoning the dlm locks in whatever
> > mode they're in; but that's probably not as simple a change.
> >
>
> Yes, thats true... the issue is that the glock state machine treats all
> glocks on an individual basis, and the demotion to NL also deals with
> any writing back and invalidating of the cache thats required at the
> same time. So that makes it tricky to separate from the requests to the
> dlm.
>
> That said, I'd like to be able to move towards dealing with batches of
> glocks in the future, since that means we can provide a more favourable
> ordering of i/o requests. That is not an easy thing to do though.
>
> In addition to the benefit for umount, I'm also wondering whether, if
> these unlocks are relatively slow, we should look at what happens during
> normal operation, where we do from time to time, send unlock requests.
> Those are mostly (though indirectly) in response to memory pressure. Is
> there anything we can do there to speed things up I wonder?
The main thing would be to not use a completion callback for dlm_unlock
(either make dlm not send one, or ignore it in gfs2). This would let you
free the glock memory right away.
But, removing unlock completions can create new problems, because you'd
need to handle new errors from dlm_lock() when it ran up against an
incomplete unlock. Dealing with that complication may negate any benefit
from ignoring unlock completions. Unless, of course, you knew you
wouldn't be making any more dlm_lock calls on that lock, e.g. during
unmount.
next prev parent reply other threads:[~2012-11-08 19:59 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-11-07 19:14 [Cluster-devel] gfs2: skip dlm_unlock calls in unmount David Teigland
2012-11-08 10:26 ` Steven Whitehouse
2012-11-08 15:41 ` David Teigland
2012-11-08 18:48 ` Steven Whitehouse
2012-11-08 19:59 ` David Teigland [this message]
2012-11-08 21:34 ` [Cluster-devel] [PATCH] " David Teigland
2012-11-09 9:45 ` Steven Whitehouse
2012-11-09 15:30 ` David Teigland
2012-11-12 10:44 ` Steven Whitehouse
2012-11-12 15:46 ` David Teigland
2012-11-13 15:58 ` David Teigland
2012-11-14 10:38 ` Steven Whitehouse
2012-11-09 14:55 ` [Cluster-devel] " Steven Whitehouse
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20121108195942.GD25932@redhat.com \
--to=teigland@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).