All of lore.kernel.org
 help / color / mirror / Atom feed
From: Sunil Mushran <sunil.mushran@oracle.com>
To: Andreas Dilger <adilger@dilger.ca>
Cc: Eric Blake <eblake@redhat.com>,
	Markus Trippelsdorf <markus@trippelsdorf.de>,
	Christoph Hellwig <hch@infradead.org>,
	Josef Bacik <josef@toxicpanda.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"linux-btrfs@vger.kernel.org" <linux-btrfs@vger.kernel.org>,
	"linux-fsdevel@vger.kernel.org" <linux-fsdevel@vger.kernel.org>
Subject: Re: [PATCH 1/2] fs: add SEEK_HOLE and SEEK_DATA flags
Date: Fri, 22 Apr 2011 16:33:11 -0700	[thread overview]
Message-ID: <4DB21037.2060604@oracle.com> (raw)
In-Reply-To: <B7EE7E9A-083C-4914-8A69-4DD3448D06B3@dilger.ca>

On 04/22/2011 11:06 AM, Andreas Dilger wrote:
> Sure, there are lots of wasted syscalls, but in this case the cost of doing extra SEEK_DATA and SEEK_HOLE operations may be fairly costly. This involves scanning the whole disk layout, possibly over a network, which might need tens or hundreds of disk seeks to read the metadata, unlike regular SEEK_SET.
>
> Even SEEK_END is somewhat costly on a network filesystem, since the syscall needs to lock the file size in order to determine the end of the file, which can block other threads from writing to the file.
>
> So while I agree that the Linux mantra that "syscalls are cheap" is true if those syscalls don't actually do any work, I think it also ignores the cost of what some syscalls need to do behind the scenes.

You have a point. I was just reviewing the possible patch for ocfs2
and it looks heavy.

One option is to scrap SEEK_* and make another syscall llfind() with FIND_*.
Or, do both.

  reply	other threads:[~2011-04-22 23:33 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-04-21 19:42 [PATCH 1/2] fs: add SEEK_HOLE and SEEK_DATA flags Josef Bacik
2011-04-21 19:42 ` [PATCH 2/2] Btrfs: implement our own ->llseek Josef Bacik
2011-04-21 20:45 ` [PATCH 1/2] fs: add SEEK_HOLE and SEEK_DATA flags Theodore Tso
2011-04-21 21:29   ` Sunil Mushran
2011-04-22  3:23   ` Matthew Wilcox
2011-04-21 22:28 ` Eric Blake
2011-04-22  1:22   ` Josef Bacik
2011-04-22  4:50     ` Christoph Hellwig
2011-04-22 11:28       ` Markus Trippelsdorf
2011-04-22 11:28         ` Markus Trippelsdorf
2011-04-22 11:28         ` Markus Trippelsdorf
2011-04-22 11:50         ` Eric Blake
2011-04-22 16:28           ` Sunil Mushran
2011-04-22 16:40             ` Eric Blake
2011-04-22 16:57               ` Sunil Mushran
2011-04-22 17:03                 ` Eric Blake
2011-04-22 17:08                   ` Sunil Mushran
2011-04-22 18:06                     ` Andreas Dilger
2011-04-22 23:33                       ` Sunil Mushran [this message]
2011-04-24 17:49             ` Jamie Lokier
2011-04-25 12:37               ` Eric Blake
2011-04-25 14:15                 ` Jamie Lokier
2011-04-22 13:06         ` Eric Blake
2011-04-22 13:06           ` Eric Blake
2011-04-25 15:02           ` Nick Bowler
2011-04-25 15:48             ` Eric Blake
2011-04-25 15:48               ` Eric Blake
2011-04-22 11:41     ` Eric Blake
2011-04-22  4:47 ` Christoph Hellwig
2011-04-22 20:10 ` Jonathan Nieder
2011-04-22 20:49   ` Sunil Mushran
2011-04-25  3:11 ` Valdis.Kletnieks

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=4DB21037.2060604@oracle.com \
    --to=sunil.mushran@oracle.com \
    --cc=adilger@dilger.ca \
    --cc=eblake@redhat.com \
    --cc=hch@infradead.org \
    --cc=josef@toxicpanda.com \
    --cc=linux-btrfs@vger.kernel.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=markus@trippelsdorf.de \
    /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.