public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Dave Chinner <david@fromorbit.com>
To: Al Viro <viro@ZenIV.linux.org.uk>
Cc: Linus Torvalds <torvalds@linux-foundation.org>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: Linux 3.11-rc2
Date: Wed, 24 Jul 2013 13:22:54 +1000	[thread overview]
Message-ID: <20130724032254.GM19986@dastard> (raw)
In-Reply-To: <20130722040601.GK4165@ZenIV.linux.org.uk>

On Mon, Jul 22, 2013 at 05:06:01AM +0100, Al Viro wrote:
> On Mon, Jul 22, 2013 at 11:25:17AM +1000, Dave Chinner wrote:
> 
> > I'll just point out that it can make the whole thing worse, too.
> > For example, for ext3/4, the tmpfile being created has to be added
> > to the orphan inode list which is protected by a filesystem global
> > mutex. Hence scalability of O_TMPFILE is massively limited on
> > ext3/ext4 due to architectural issues within ext3/4. Other
> > filesystems will be more efficient, but because they have more
> > scalable/complex orphan inode handling it's going to take longer to
> > implement O_TMPFILE support for them....
> 
> Um...  You do realize that the same architectural issues there will
> create exactly the same serialization when you are unlinking the
> sucker?  I.e. with the "pick the name, create and open, unlink" sequence
> ext[34] will insert that inode into the same orphan list, creating
> the same contention...

Yup.

But that is assuming that the unlink of the tmpfile happens
immediately after the open() and that's not necessarily the case for
all users of tmp files that might get converted to use O_TMPFILE,
and so a saying it is more efficient than traditional tmpfiles is
not necessarily correct.

Let's set expectations appropriately at the start, rather than have
people complain a year down the track that O_TMPFILE causes them
performance problems because they don't understand the limitations
of the implementations underlying it......

Cheers,

Dave.
-- 
Dave Chinner
david@fromorbit.com

  reply	other threads:[~2013-07-24  3:23 UTC|newest]

Thread overview: 55+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-07-21 19:53 Linux 3.11-rc2 Linus Torvalds
2013-07-21 21:07 ` Tobias Klausmann
2013-07-22 13:08   ` Rafael J. Wysocki
2013-07-22 15:43     ` Tobias Klausmann
2013-07-21 23:08 ` James Hogan
2013-07-22 13:02   ` Rafael J. Wysocki
2013-07-22 13:15     ` Martin Steigerwald
2013-07-22 13:37       ` Rafael J. Wysocki
2013-07-22 18:46         ` Martin Steigerwald
2013-07-22 19:57           ` Rafael J. Wysocki
2013-07-24  5:10         ` Kalle Valo
2013-07-22 13:21     ` James Hogan
2013-07-22 18:11     ` Linus Torvalds
2013-07-22 19:54       ` Rafael J. Wysocki
2013-07-23 18:46         ` Linux 3.11-rc2 (acpi backlight) Kamal Mostafa
2013-07-24  0:05           ` Rafael J. Wysocki
2013-07-24  4:54             ` Steven Newbury
2013-07-24  6:49             ` James Hogan
2013-07-24  7:14               ` Mike Galbraith
2013-07-24  7:19               ` Igor Gnatenko
2013-07-24 12:06                 ` Rafael J. Wysocki
2013-07-24 11:45             ` Jörg Otte
2013-07-25 13:00         ` Linux 3.11-rc2 (acpi backlight, revert) Rafael J. Wysocki
2013-07-25 14:43           ` Kamal Mostafa
2013-07-25 14:46             ` Daniel Vetter
2013-07-25 14:59               ` Kamal Mostafa
2013-07-25 14:52           ` Jörg Otte
2013-07-25 15:52             ` Jörg Otte
2013-07-25 19:14           ` James Hogan
2013-07-25 19:47             ` Rafael J. Wysocki
2013-07-26  4:23               ` Joerg Platte
2013-07-26 11:22               ` Igor Gnatenko
2013-07-26  7:43           ` Steven Newbury
2013-07-26 12:09           ` Martin Steigerwald
2013-07-26 12:40             ` Rafael J. Wysocki
2013-08-04 19:33               ` Martin Steigerwald
2013-08-04 22:15                 ` Rafael J. Wysocki
2013-07-27  5:34           ` Kalle Valo
2013-07-27 12:18             ` Rafael J. Wysocki
2013-07-22 18:16     ` Linux 3.11-rc2 Matthew Garrett
2013-07-22 19:56       ` Rafael J. Wysocki
2013-07-23 17:47         ` Steven Newbury
2013-07-23 19:51           ` Matthew Garrett
2013-07-23 21:10             ` Steven Newbury
2013-07-23 21:24           ` Rafael J. Wysocki
2013-07-23 22:49             ` Steven Newbury
2013-07-22  1:25 ` Dave Chinner
2013-07-22  4:06   ` Al Viro
2013-07-24  3:22     ` Dave Chinner [this message]
2013-07-23  1:04 ` rydberg
2013-07-23  1:17   ` Myklebust, Trond
2013-07-23 18:31     ` Myklebust, Trond
2013-07-23 19:08       ` rydberg
2013-07-23 20:42         ` Linus Torvalds
2013-07-23 20:52           ` Myklebust, Trond

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=20130724032254.GM19986@dastard \
    --to=david@fromorbit.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=torvalds@linux-foundation.org \
    --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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox