From: Raghavendra D Prabhu <rprabhu@wnohang.net>
To: Wu Fengguang <fengguang.wu@intel.com>
Cc: "linux-mm@kvack.org" <linux-mm@kvack.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"akpm@linux-foundation.org" <akpm@linux-foundation.org>
Subject: Re. Revised [PATCH 3/3] mm/readahead: Remove the check for ra->ra_pages
Date: Tue, 12 Jul 2011 04:32:09 +0530 [thread overview]
Message-ID: <20110711230209.GA39196@Xye> (raw)
In-Reply-To: <20110710155906.GB7432@localhost>
* On Sun, Jul 10, 2011 at 08:59:06AM -0700, Wu Fengguang <fengguang.wu@intel.com> wrote:
>On Sun, Jul 10, 2011 at 08:59:09PM +0800, Raghavendra D Prabhu wrote:
>> * On Sat, Jul 09, 2011 at 01:53:08PM -0700, Wu Fengguang <fengguang.wu@intel.com> wrote:
>> >On Sun, Jul 10, 2011 at 03:41:20AM +0800, Raghavendra D Prabhu wrote:
>> >>page_cache_sync_readahead checks for ra->ra_pages again, so moving the check after VM_SequentialReadHint.
>> >NAK. This patch adds nothing but overheads.
>> >>--- a/mm/filemap.c
>> >>+++ b/mm/filemap.c
>> >>@@ -1566,8 +1566,6 @@ static void do_sync_mmap_readahead(struct vm_area_struct *vma,
>> >> /* If we don't want any read-ahead, don't bother */
>> >> if (VM_RandomReadHint(vma))
>> >> return;
>> >>- if (!ra->ra_pages)
>> >>- return;
>> >> if (VM_SequentialReadHint(vma)) {
>> >> page_cache_sync_readahead(mapping, ra, file, offset,
>> >>@@ -1575,6 +1573,9 @@ static void do_sync_mmap_readahead(struct vm_area_struct *vma,
>> >> return;
>> >> }
>> >>+ if (!ra->ra_pages)
>> >>+ return;
>> >>+
>> >page_cache_sync_readahead() has the same
>> > if (!ra->ra_pages)
>> > return;
>> 1. Yes, I saw that and that is why I moved it after the condition, so that duplicate checks are
>> not needed -- ie., if VM_SequentialReadHint is true, then
>> (!ra->ra_pages) is checked twice otherwise.
>
>Ok, I see.
>
>> 2. Also, another thought, is the check needed at its original place (if
>> not it can be removed), reasons being -- filesystems like tmpfs which
>> have ra_pages set to 0 don't use filemap_fault in their VMA ops and also
>
>Good point. tmpfs is using shmem_fault().. Can you remove the test?
I have removed that test. Patch attached.
>
>> do_sync_mmap_readahead is called in a major page fault context.
>
>Right. This is irrelevant however, because if pa_pages==0, the
>page faults will normally be major ones.
>
>Thanks,
>Fengguang
>
>> >So the patch adds the call into page_cache_sync_readahead() just to return..
>> >Thanks,
>> >Fengguang
>> --------------------------
>> Raghavendra Prabhu
>> GPG Id : 0xD72BE977
>> Fingerprint: B93F EBCB 8E05 7039 CD3C A4B8 A616 DCA1 D72B E977
>> www: wnohang.net
>
>
======================================================================
The check for ra->ra_pages is not required since fs like tmpfs which have
ra_pages set to 0 don't use filemap_fault as part of their VMA ops (it uses
shmem_fault). Also, page_cache_sync_readahead does its own check for ra_pages.
Signed-off-by: Raghavendra D Prabhu <rprabhu@wnohang.net>
---
mm/filemap.c | 2 --
1 files changed, 0 insertions(+), 2 deletions(-)
diff --git a/mm/filemap.c b/mm/filemap.c
index 074c23d..0bcd276 100644
--- a/mm/filemap.c
+++ b/mm/filemap.c
@@ -1566,8 +1566,6 @@ static void do_sync_mmap_readahead(struct vm_area_struct *vma,
/* If we don't want any read-ahead, don't bother */
if (VM_RandomReadHint(vma))
return;
- if (!ra->ra_pages)
- return;
if (VM_SequentialReadHint(vma)) {
page_cache_sync_readahead(mapping, ra, file, offset,
--
1.7.6
--------------------------
Raghavendra Prabhu
GPG Id : 0xD72BE977
Fingerprint: B93F EBCB 8E05 7039 CD3C A4B8 A616 DCA1 D72B E977
www: wnohang.net
WARNING: multiple messages have this Message-ID (diff)
From: Raghavendra D Prabhu <rprabhu@wnohang.net>
To: Wu Fengguang <fengguang.wu@intel.com>
Cc: "linux-mm@kvack.org" <linux-mm@kvack.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"akpm@linux-foundation.org" <akpm@linux-foundation.org>
Subject: Re. Revised [PATCH 3/3] mm/readahead: Remove the check for ra->ra_pages
Date: Tue, 12 Jul 2011 04:32:09 +0530 [thread overview]
Message-ID: <20110711230209.GA39196@Xye> (raw)
In-Reply-To: <20110710155906.GB7432@localhost>
* On Sun, Jul 10, 2011 at 08:59:06AM -0700, Wu Fengguang <fengguang.wu@intel.com> wrote:
>On Sun, Jul 10, 2011 at 08:59:09PM +0800, Raghavendra D Prabhu wrote:
>> * On Sat, Jul 09, 2011 at 01:53:08PM -0700, Wu Fengguang <fengguang.wu@intel.com> wrote:
>> >On Sun, Jul 10, 2011 at 03:41:20AM +0800, Raghavendra D Prabhu wrote:
>> >>page_cache_sync_readahead checks for ra->ra_pages again, so moving the check after VM_SequentialReadHint.
>> >NAK. This patch adds nothing but overheads.
>> >>--- a/mm/filemap.c
>> >>+++ b/mm/filemap.c
>> >>@@ -1566,8 +1566,6 @@ static void do_sync_mmap_readahead(struct vm_area_struct *vma,
>> >> /* If we don't want any read-ahead, don't bother */
>> >> if (VM_RandomReadHint(vma))
>> >> return;
>> >>- if (!ra->ra_pages)
>> >>- return;
>> >> if (VM_SequentialReadHint(vma)) {
>> >> page_cache_sync_readahead(mapping, ra, file, offset,
>> >>@@ -1575,6 +1573,9 @@ static void do_sync_mmap_readahead(struct vm_area_struct *vma,
>> >> return;
>> >> }
>> >>+ if (!ra->ra_pages)
>> >>+ return;
>> >>+
>> >page_cache_sync_readahead() has the same
>> > if (!ra->ra_pages)
>> > return;
>> 1. Yes, I saw that and that is why I moved it after the condition, so that duplicate checks are
>> not needed -- ie., if VM_SequentialReadHint is true, then
>> (!ra->ra_pages) is checked twice otherwise.
>
>Ok, I see.
>
>> 2. Also, another thought, is the check needed at its original place (if
>> not it can be removed), reasons being -- filesystems like tmpfs which
>> have ra_pages set to 0 don't use filemap_fault in their VMA ops and also
>
>Good point. tmpfs is using shmem_fault().. Can you remove the test?
I have removed that test. Patch attached.
>
>> do_sync_mmap_readahead is called in a major page fault context.
>
>Right. This is irrelevant however, because if pa_pages==0, the
>page faults will normally be major ones.
>
>Thanks,
>Fengguang
>
>> >So the patch adds the call into page_cache_sync_readahead() just to return..
>> >Thanks,
>> >Fengguang
>> --------------------------
>> Raghavendra Prabhu
>> GPG Id : 0xD72BE977
>> Fingerprint: B93F EBCB 8E05 7039 CD3C A4B8 A616 DCA1 D72B E977
>> www: wnohang.net
>
>
======================================================================
The check for ra->ra_pages is not required since fs like tmpfs which have
ra_pages set to 0 don't use filemap_fault as part of their VMA ops (it uses
shmem_fault). Also, page_cache_sync_readahead does its own check for ra_pages.
Signed-off-by: Raghavendra D Prabhu <rprabhu@wnohang.net>
---
mm/filemap.c | 2 --
1 files changed, 0 insertions(+), 2 deletions(-)
diff --git a/mm/filemap.c b/mm/filemap.c
index 074c23d..0bcd276 100644
--- a/mm/filemap.c
+++ b/mm/filemap.c
@@ -1566,8 +1566,6 @@ static void do_sync_mmap_readahead(struct vm_area_struct *vma,
/* If we don't want any read-ahead, don't bother */
if (VM_RandomReadHint(vma))
return;
- if (!ra->ra_pages)
- return;
if (VM_SequentialReadHint(vma)) {
page_cache_sync_readahead(mapping, ra, file, offset,
--
1.7.6
--------------------------
Raghavendra Prabhu
GPG Id : 0xD72BE977
Fingerprint: B93F EBCB 8E05 7039 CD3C A4B8 A616 DCA1 D72B E977
www: wnohang.net
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
next prev parent reply other threads:[~2011-07-11 23:02 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-07-09 19:41 [PATCH 0/3] Readahead fixes Raghavendra D Prabhu
2011-07-09 19:41 ` Raghavendra D Prabhu
2011-07-09 19:41 ` [PATCH 1/3] mm/readahead: Change the check for PageReadahead into an else-if Raghavendra D Prabhu
2011-07-09 19:41 ` Raghavendra D Prabhu
2011-07-09 20:47 ` Wu Fengguang
2011-07-09 20:47 ` Wu Fengguang
2011-07-09 19:41 ` [PATCH 2/3] mm/readahead: Remove file_ra_state from arguments of count_history_pages Raghavendra D Prabhu
2011-07-09 19:41 ` Raghavendra D Prabhu
2011-07-09 20:47 ` Wu Fengguang
2011-07-09 20:47 ` Wu Fengguang
2011-07-09 19:41 ` [PATCH 3/3] mm/readahead: Move the check for ra_pages after VM_SequentialReadHint() Raghavendra D Prabhu
2011-07-09 19:41 ` Raghavendra D Prabhu
2011-07-09 20:53 ` Wu Fengguang
2011-07-09 20:53 ` Wu Fengguang
2011-07-10 12:59 ` [TOME] " Raghavendra D Prabhu
2011-07-10 15:59 ` Wu Fengguang
2011-07-10 15:59 ` Wu Fengguang
2011-07-11 23:02 ` Raghavendra D Prabhu [this message]
2011-07-11 23:02 ` Re. Revised [PATCH 3/3] mm/readahead: Remove the check for ra->ra_pages Raghavendra D Prabhu
2011-07-12 18:09 ` Wu Fengguang
2011-07-12 18:09 ` Wu Fengguang
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=20110711230209.GA39196@Xye \
--to=rprabhu@wnohang.net \
--cc=akpm@linux-foundation.org \
--cc=fengguang.wu@intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
/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.