From: Max Kellermann <mk@cm4all.com>
To: Matthew Wilcox <matthew@wil.cx>
Cc: linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] fs/namei: waiting for mutex during name lookups is "killable"
Date: Mon, 28 Nov 2011 13:30:57 +0100 [thread overview]
Message-ID: <20111128123056.GA19907@rabbit.intern.cm-ag> (raw)
In-Reply-To: <20111128121936.GR4387@parisc-linux.org>
On 2011/11/28 13:19, Matthew Wilcox <matthew@wil.cx> wrote:
> On Mon, Nov 28, 2011 at 12:39:18PM +0100, Max Kellermann wrote:
> > Use mutex_lock_killable() instead of mutex_lock() during name lookups,
> > to allow killing the process while it's waiting.
>
> This is cool. Could you describe what situations this mutex gets held
> for a user-noticable length of time, and how you tested this patch?
I experienced lots of blocked unkillable processes in an environment
that uses NFS mounts extensively.
There seems to be a lot wrong with Linux's NFS client; it waits for
RPC responses synchronously while the VFS layer holds mutexes, a
behaviour that should be avoided. My patch does not try to address
this core issue. Instead, it attempts to mitigate a nasty side
effect.
Most blocked processes were hanging inside stat(), in the code
locations that my patch changes. After this patch, I could verify
that the affected processes could be killed, instead of hanging in the
task list until the one process holding the mutex would give up the
RPC request.
The patch has been in production on a few heavily loaded servers for
nearly a week, and I did not observe any negative side effects.
Max
prev parent reply other threads:[~2011-11-28 12:30 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-11-28 11:39 [PATCH] fs/namei: waiting for mutex during name lookups is "killable" Max Kellermann
2011-11-28 12:19 ` Matthew Wilcox
2011-11-28 12:30 ` Max Kellermann [this message]
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=20111128123056.GA19907@rabbit.intern.cm-ag \
--to=mk@cm4all.com \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=matthew@wil.cx \
/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).