All of lore.kernel.org
 help / color / mirror / Atom feed
From: Wu Fengguang <fengguang.wu@intel.com>
To: Minchan Kim <minchan.kim@gmail.com>
Cc: Andi Kleen <andi@firstfloor.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	Quentin Barnes <qbarnes+nfs@yahoo-inc.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"linux-fsdevel@vger.kernel.org" <linux-fsdevel@vger.kernel.org>,
	Nick Piggin <npiggin@suse.de>,
	Steven Whitehouse <swhiteho@redhat.com>,
	David Howells <dhowells@redhat.com>,
	Al Viro <viro@zeniv.linux.org.uk>,
	Jonathan Corbet <corbet@lwn.net>,
	Christoph Hellwig <hch@infradead.org>
Subject: Re: [RFC][PATCH v3] readahead: introduce O_RANDOM for POSIX_FADV_RANDOM
Date: Mon, 4 Jan 2010 20:16:42 +0800	[thread overview]
Message-ID: <20100104121642.GA12266@localhost> (raw)
In-Reply-To: <28c262361001032120v284e92b5ub1211f3d1fca6140@mail.gmail.com>

Hi Minchan,

On Mon, Jan 04, 2010 at 01:20:49PM +0800, Minchan Kim wrote:
> > --- linux.orig/mm/readahead.c   2010-01-04 12:39:29.000000000 +0800
> > +++ linux/mm/readahead.c        2010-01-04 12:39:30.000000000 +0800
> > @@ -501,6 +501,12 @@ void page_cache_sync_readahead(struct ad
> >        if (!ra->ra_pages)
> >                return;
> >
> > +       /* be dumb */
> > +       if (filp->f_flags & O_RANDOM) {
> > +               force_page_cache_readahead(mapping, filp, offset, req_size);
> > +               return;
> > +       }
> > +
> 
> Let me have a dumb question. :)
> 
> How about testing O_RANDOM in front of ra_pages testing?
> 
> My intention is that although we turn off ra, it would be better to read
> contiguous block all at once than readpage() callback doing I/O
> one page at a time.
> 
> Is it break some semantics or happen some problem in ondemand readahead?

Yes it will have some problem with shrink_readahead_size_eio(), which
want to disable readahead and use ->readpage() when ra_pages==0.

Do you have specific use case in mind? The file systems that set
ra_pages=0 seems to don't need readahead, too. 

Thanks,
Fengguang

  reply	other threads:[~2010-01-05  1:12 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-12-25  0:07 [RFC][PATCH] Disabling read-ahead makes I/O of large reads small Quentin Barnes
2009-12-29 18:04 ` Andi Kleen
2009-12-30  5:15   ` Wu Fengguang
2009-12-30  5:17     ` [RFC][PATCH 1/2] readahead: replace ra->mmap_miss with ra->flags Wu Fengguang
2009-12-30  5:24     ` [RFC][PATCH 2/2] readahead: avoid page-by-page reads on POSIX_FADV_RANDOM Wu Fengguang
2009-12-30 18:02       ` Andi Kleen
2009-12-31  1:39         ` Wu Fengguang
2009-12-31  2:53           ` Wu Fengguang
2009-12-31  3:03             ` Wu Fengguang
2009-12-31  4:31         ` [RFC][PATCH v2] readahead: introduce O_RANDOM_READ for POSIX_FADV_RANDOM Wu Fengguang
2010-01-08 13:08           ` Christoph Hellwig
2010-01-09 13:59             ` Wu Fengguang
2010-01-09 14:01               ` Wu Fengguang
2010-01-04  4:50         ` [RFC][PATCH v3] readahead: introduce O_RANDOM " Wu Fengguang
2010-01-04  5:17           ` Stephen Rothwell
2010-01-04  7:33             ` Christoph Hellwig
2010-01-04 12:56               ` [RFC][PATCH v4] " Wu Fengguang
2010-01-05  2:03                 ` Stephen Rothwell
2010-01-05  2:26                   ` Wu Fengguang
2010-01-05  2:28                     ` Stephen Rothwell
2010-01-05  2:45                       ` Wu Fengguang
2010-01-05  5:21                         ` Eric Paris
2010-01-05  3:18                       ` [RFC][PATCH v5] " Wu Fengguang
2010-01-05  3:27                         ` Wu Fengguang
2010-01-04 16:50               ` [RFC][PATCH v3] " Quentin Barnes
2010-01-04 18:57                 ` Andreas Dilger
2010-01-04  5:20           ` Minchan Kim
2010-01-04  5:20             ` Minchan Kim
2010-01-04 12:16             ` Wu Fengguang [this message]
2010-01-05  1:46               ` Minchan Kim
2010-01-05  1:46                 ` Minchan Kim
2010-01-05  2:16                 ` Wu Fengguang
2010-01-05  3:40                   ` Minchan Kim
2010-01-05  3:40                     ` Minchan Kim

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=20100104121642.GA12266@localhost \
    --to=fengguang.wu@intel.com \
    --cc=akpm@linux-foundation.org \
    --cc=andi@firstfloor.org \
    --cc=corbet@lwn.net \
    --cc=dhowells@redhat.com \
    --cc=hch@infradead.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=minchan.kim@gmail.com \
    --cc=npiggin@suse.de \
    --cc=qbarnes+nfs@yahoo-inc.com \
    --cc=swhiteho@redhat.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.