All of lore.kernel.org
 help / color / mirror / Atom feed
From: Raghavendra D Prabhu <raghu.prabhu13@gmail.com>
To: Fengguang Wu <fengguang.wu@intel.com>
Cc: linux-mm@kvack.org, viro@zeniv.linux.org.uk, akpm@linux-foundation.org
Subject: Re:  Re: Re: [PATCH 2/5] mm/readahead: Change the condition for SetPageReadahead
Date: Tue, 16 Oct 2012 23:12:52 +0530	[thread overview]
Message-ID: <20121016174252.GB2826@Archie> (raw)
In-Reply-To: <20120928115623.GB1525@localhost>

[-- Attachment #1: Type: text/plain, Size: 2127 bytes --]

Hi,


* On Fri, Sep 28, 2012 at 07:56:23PM +0800, Fengguang Wu <fengguang.wu@intel.com> wrote:
>On Wed, Sep 26, 2012 at 06:59:00AM +0530, Raghavendra D Prabhu wrote:
>> Hi,
>>
>>
>> * On Sat, Sep 22, 2012 at 08:49:20PM +0800, Fengguang Wu <fengguang.wu@intel.com> wrote:
>> >On Sat, Sep 22, 2012 at 04:03:11PM +0530, raghu.prabhu13@gmail.com wrote:
>> >>From: Raghavendra D Prabhu <rprabhu@wnohang.net>
>> >>
>> >>If page lookup from radix_tree_lookup is successful and its index page_idx ==
>> >>nr_to_read - lookahead_size, then SetPageReadahead never gets called, so this
>> >>fixes that.
>> >
>> >NAK. Sorry. It's actually an intentional behavior, so that for the
>> >common cases of many cached files that are accessed frequently, no
>> >PG_readahead will be set at all to pointlessly trap into the readahead
>> >routines once and again.
>>
>> ACK, thanks for explaining that. However, regarding this, I would
>> like to know if the implications of the patch
>> 51daa88ebd8e0d437289f589af29d4b39379ea76 will still apply if
>> PG_readahead is not set.
>
>Would you elaborate the implication and the possible problematic case?

Certainly.


An implication of 51daa88ebd8e0d437289f589af29d4b39379ea76 is 
that, a redundant check for PageReadahead(page) is avoided since  
async is piggy-backed into the synchronous readahead itself.


So, in case of 

     page = find_get_page()
     if(!page)
         page_cache_sync_readahead()
     else if (PageReadahead(page))
         page_cache_async_readahead();

isnt' there a possibility that PG_readahead won't be set at all 
if page is not in cache (causing page_cache_sync_readahead) but 
page at index  (nr_to_read - lookahead_size) is already in the 
cache? (due to if (page) continue; in the code)?


Hence, I changed the condition from equality to >= for setting 
SetPageReadahead(page) (and added a 
variable so that it is done only once). 


>
>Thanks,
>Fengguang
>




Regards,
-- 
Raghavendra Prabhu
GPG Id : 0xD72BE977
Fingerprint: B93F EBCB 8E05 7039 CD3C A4B8 A616 DCA1 D72B E977
www: wnohang.net

[-- Attachment #2: Type: application/pgp-signature, Size: 490 bytes --]

  reply	other threads:[~2012-10-16 17:42 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-09-22 10:33 [PATCH 0/5] Readahead fixes / improvements raghu.prabhu13
     [not found] ` <cover.1348309711.git.rprabhu@wnohang.net>
2012-09-22 10:33   ` [PATCH 1/5] mm/readahead: Check return value of read_pages raghu.prabhu13
2012-09-22 12:43     ` Fengguang Wu
2012-09-26  1:25       ` Raghavendra D Prabhu
2012-09-28 11:54         ` Fengguang Wu
2012-10-16 17:47           ` Raghavendra D Prabhu
2012-10-17  2:53             ` Fengguang Wu
2012-09-22 10:33   ` [PATCH 2/5] mm/readahead: Change the condition for SetPageReadahead raghu.prabhu13
2012-09-22 12:49     ` Fengguang Wu
2012-09-26  1:29       ` Raghavendra D Prabhu
2012-09-28 11:56         ` Fengguang Wu
2012-10-16 17:42           ` Raghavendra D Prabhu [this message]
2012-10-17  2:34             ` Fengguang Wu
2012-09-22 10:33   ` [PATCH 3/5] Remove file_ra_state from arguments of count_history_pages raghu.prabhu13
2012-09-22 12:40     ` Fengguang Wu
2012-10-16 18:21       ` Raghavendra D Prabhu
2012-10-17  3:15         ` Fengguang Wu
2012-09-22 10:33   ` [PATCH 4/5] Move the check for ra_pages after VM_SequentialReadHint() raghu.prabhu13
2012-09-22 12:42     ` Fengguang Wu
2012-09-26  1:39       ` Raghavendra D Prabhu
2012-10-16 18:15       ` Raghavendra D Prabhu
2012-10-17  3:13         ` Fengguang Wu
2012-09-22 10:33   ` [PATCH 5/5] mm/readahead: Use find_get_pages instead of radix_tree_lookup raghu.prabhu13
2012-09-22 13:15     ` Fengguang Wu
2012-09-26  2:58       ` Raghavendra D Prabhu
2012-09-28 12:18         ` Fengguang Wu
2012-10-16 16:59           ` Raghavendra D Prabhu
2012-10-17  2:12             ` Fengguang Wu

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=20121016174252.GB2826@Archie \
    --to=raghu.prabhu13@gmail.com \
    --cc=akpm@linux-foundation.org \
    --cc=fengguang.wu@intel.com \
    --cc=linux-mm@kvack.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 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.