From: Christoph Hellwig <hch@infradead.org>
To: Justin TerAvest <teravest@google.com>
Cc: jaxboe@fusionio.com, viro@zeniv.linux.org.uk, jeffm@suse.de,
tytso@google.com, mingo@elte.hu, peterz@infradead.org,
hch@infradead.org, linux-kernel@vger.kernel.org,
reiserfs-devel@vger.kernel.org, linux-fsdevel@vger.kernel.org
Subject: Re: [PATCH] fixlet: Remove fs_excl from struct task.
Date: Fri, 24 Jun 2011 18:02:41 -0400 [thread overview]
Message-ID: <20110624220240.GA6455@infradead.org> (raw)
In-Reply-To: <1308949107-1962-1-git-send-email-teravest@google.com>
On Fri, Jun 24, 2011 at 01:58:27PM -0700, Justin TerAvest wrote:
> fs_excl is a poor man's priority inheritance for filesystems to hint to
> the block layer that an operation is important. It was never clearly
> specified, not widely adopted, and will not prevent starvation in many
> cases (like across cgroups).
>
> I talked to Ted Ts'o about this, and he said that it used to used more
> frequently in the 2.4 and prior versions of Linux, back when we were
> first converting from the Big Kernel Lock to having subsystem level
> locks, and so it made sense to use fs_excl when a process owned the
> global fs mutex and was waiting for an I/O to complete, but it's no
> longer used much at all, and filesystems have better ways to mark an I/O
> request as high priority.
That's not quite true, it was added in Linux 2.6.13 in commit
22e2c507c301c3dbbcf91b4948b88f78842ee6c9:
[PATCH] Update cfq io scheduler to time sliced design
The users back then where the same as today: a few reiserfs journal
callsites and lock_super. In addition to the lock_super uses in various
fringe filesystems still left today it was also used around ->put_super
(aka umount) and ->write_super, which at the point had already lost the
grunt work of sync action to ->sync_fs.
That beeing said I never liked it and asked for a removal a while ago,
but Jens still wanted to keep it. As far as I'm concerned we should
kill it gently, and if any regressions arise fix them with a bio flag.
next prev parent reply other threads:[~2011-06-24 22:02 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-06-24 20:58 [PATCH] fixlet: Remove fs_excl from struct task Justin TerAvest
2011-06-24 22:02 ` Christoph Hellwig [this message]
2011-07-11 20:44 ` Justin TerAvest
2011-07-11 20:44 ` Justin TerAvest
2011-07-12 6:29 ` Jens Axboe
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=20110624220240.GA6455@infradead.org \
--to=hch@infradead.org \
--cc=jaxboe@fusionio.com \
--cc=jeffm@suse.de \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=peterz@infradead.org \
--cc=reiserfs-devel@vger.kernel.org \
--cc=teravest@google.com \
--cc=tytso@google.com \
--cc=viro@zeniv.linux.org.uk \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.