From: Dan Williams <dan.j.williams@intel.com>
To: Mel Gorman <mel@csn.ul.ie>
Cc: Linus Torvalds <torvalds@linux-foundation.org>,
Andy Whitcroft <apw@shadowen.org>,
linux-mm@kvack.org, linux-kernel@vger.kernel.org,
NeilBrown <neilb@suse.de>,
babydr@baby-dragons.com, cl@linux-foundation.org,
lee.schermerhorn@hp.com, a.beregalov@gmail.com,
akpm@linux-foundation.org
Subject: Re: [problem] raid performance loss with 2.6.26-rc8 on 32-bit x86 (bisected)
Date: Wed, 02 Jul 2008 22:54:15 -0700 [thread overview]
Message-ID: <1215064455.15797.4.camel@dwillia2-linux.ch.intel.com> (raw)
In-Reply-To: <20080703050036.GD14614@csn.ul.ie>
On Wed, 2008-07-02 at 22:00 -0700, Mel Gorman wrote:
> Subject: [PATCH] Do not overwrite nr_zones on !NUMA when initialising zlcache_ptr
>
> With the two-zonelist patches on !NUMA machines, there really is only one
> zonelist as __GFP_THISNODE is meaningless. However, during initialisation, the
> assumption is made that two zonelists exist when initialising zlcache_ptr. The
> result is that pgdat->nr_zones is always 0. As kswapd uses this value to
> determine what reclaim work is necessary, the result is that kswapd never
> reclaims. This causes processes to stall frequently in low-memory situations
> as they always direct reclaim. This patch initialises zlcache_ptr correctly.
>
> Signed-off-by: Mel Gorman <mel@csn.ul.ie>
> ---
> page_alloc.c | 1 -
> 1 file changed, 1 deletion(-)
>
> diff -rup -X /usr/src/patchset-0.6/bin//dontdiff linux-2.6.26-rc8-clean/mm/page_alloc.c linux-2.6.26-rc8-fix-kswapd-on-numa/mm/page_alloc.c
> --- linux-2.6.26-rc8-clean/mm/page_alloc.c 2008-06-24 18:58:20.000000000 -0700
> +++ linux-2.6.26-rc8-fix-kswapd-on-numa/mm/page_alloc.c 2008-07-02 21:49:09.000000000 -0700
> @@ -2328,7 +2328,6 @@ static void build_zonelists(pg_data_t *p
> static void build_zonelist_cache(pg_data_t *pgdat)
> {
> pgdat->node_zonelists[0].zlcache_ptr = NULL;
> - pgdat->node_zonelists[1].zlcache_ptr = NULL;
> }
>
> #endif /* CONFIG_NUMA */
>
Bug squished.
# for i in `seq 1 5`; do dd if=/dev/zero of=/dev/md0 bs=1024k count=2048; done
2048+0 records in
2048+0 records out
2147483648 bytes (2.1 GB) copied, 7.73352 s, 278 MB/s
2048+0 records in
2048+0 records out
2147483648 bytes (2.1 GB) copied, 7.6845 s, 279 MB/s
2048+0 records in
2048+0 records out
2147483648 bytes (2.1 GB) copied, 7.74428 s, 277 MB/s
2048+0 records in
2048+0 records out
2147483648 bytes (2.1 GB) copied, 7.65959 s, 280 MB/s
2048+0 records in
2048+0 records out
2147483648 bytes (2.1 GB) copied, 7.73107 s, 278 MB/s
Tested-by: Dan Williams <dan.j.williams@intel.com>
WARNING: multiple messages have this Message-ID (diff)
From: Dan Williams <dan.j.williams@intel.com>
To: Mel Gorman <mel@csn.ul.ie>
Cc: Linus Torvalds <torvalds@linux-foundation.org>,
Andy Whitcroft <apw@shadowen.org>,
linux-mm@kvack.org, linux-kernel@vger.kernel.org,
NeilBrown <neilb@suse.de>,
babydr@baby-dragons.com, cl@linux-foundation.org,
lee.schermerhorn@hp.com, a.beregalov@gmail.com,
akpm@linux-foundation.org
Subject: Re: [problem] raid performance loss with 2.6.26-rc8 on 32-bit x86 (bisected)
Date: Wed, 02 Jul 2008 22:54:15 -0700 [thread overview]
Message-ID: <1215064455.15797.4.camel@dwillia2-linux.ch.intel.com> (raw)
In-Reply-To: <20080703050036.GD14614@csn.ul.ie>
On Wed, 2008-07-02 at 22:00 -0700, Mel Gorman wrote:
> Subject: [PATCH] Do not overwrite nr_zones on !NUMA when initialising zlcache_ptr
>
> With the two-zonelist patches on !NUMA machines, there really is only one
> zonelist as __GFP_THISNODE is meaningless. However, during initialisation, the
> assumption is made that two zonelists exist when initialising zlcache_ptr. The
> result is that pgdat->nr_zones is always 0. As kswapd uses this value to
> determine what reclaim work is necessary, the result is that kswapd never
> reclaims. This causes processes to stall frequently in low-memory situations
> as they always direct reclaim. This patch initialises zlcache_ptr correctly.
>
> Signed-off-by: Mel Gorman <mel@csn.ul.ie>
> ---
> page_alloc.c | 1 -
> 1 file changed, 1 deletion(-)
>
> diff -rup -X /usr/src/patchset-0.6/bin//dontdiff linux-2.6.26-rc8-clean/mm/page_alloc.c linux-2.6.26-rc8-fix-kswapd-on-numa/mm/page_alloc.c
> --- linux-2.6.26-rc8-clean/mm/page_alloc.c 2008-06-24 18:58:20.000000000 -0700
> +++ linux-2.6.26-rc8-fix-kswapd-on-numa/mm/page_alloc.c 2008-07-02 21:49:09.000000000 -0700
> @@ -2328,7 +2328,6 @@ static void build_zonelists(pg_data_t *p
> static void build_zonelist_cache(pg_data_t *pgdat)
> {
> pgdat->node_zonelists[0].zlcache_ptr = NULL;
> - pgdat->node_zonelists[1].zlcache_ptr = NULL;
> }
>
> #endif /* CONFIG_NUMA */
>
Bug squished.
# for i in `seq 1 5`; do dd if=/dev/zero of=/dev/md0 bs=1024k count=2048; done
2048+0 records in
2048+0 records out
2147483648 bytes (2.1 GB) copied, 7.73352 s, 278 MB/s
2048+0 records in
2048+0 records out
2147483648 bytes (2.1 GB) copied, 7.6845 s, 279 MB/s
2048+0 records in
2048+0 records out
2147483648 bytes (2.1 GB) copied, 7.74428 s, 277 MB/s
2048+0 records in
2048+0 records out
2147483648 bytes (2.1 GB) copied, 7.65959 s, 280 MB/s
2048+0 records in
2048+0 records out
2147483648 bytes (2.1 GB) copied, 7.73107 s, 278 MB/s
Tested-by: Dan Williams <dan.j.williams@intel.com>
--
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/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
next prev parent reply other threads:[~2008-07-03 7:13 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-07-01 1:57 [problem] raid performance loss with 2.6.26-rc8 on 32-bit x86 (bisected) Dan Williams
2008-07-01 8:09 ` Mel Gorman
2008-07-01 8:09 ` Mel Gorman
2008-07-01 17:58 ` Andy Whitcroft
2008-07-01 17:58 ` Andy Whitcroft
2008-07-01 19:07 ` Mel Gorman
2008-07-01 19:07 ` Mel Gorman
2008-07-01 20:29 ` Dan Williams
2008-07-01 20:29 ` Dan Williams
2008-07-02 5:18 ` Mel Gorman
2008-07-02 5:18 ` Mel Gorman
2008-07-03 1:49 ` Dan Williams
2008-07-03 1:49 ` Dan Williams
2008-07-03 4:27 ` Mel Gorman
2008-07-03 4:27 ` Mel Gorman
2008-07-03 4:43 ` Linus Torvalds
2008-07-03 4:43 ` Linus Torvalds
2008-07-03 5:00 ` Mel Gorman
2008-07-03 5:00 ` Mel Gorman
2008-07-03 5:54 ` Dan Williams [this message]
2008-07-03 5:54 ` Dan Williams
2008-07-03 13:37 ` Christoph Lameter
2008-07-03 13:37 ` Christoph Lameter
2008-07-03 16:36 ` [PATCH] Do not clobber pgdat->nr_zones during memory initialisation Mel Gorman
2008-07-03 16:36 ` Mel Gorman
2008-07-03 16:44 ` Linus Torvalds
2008-07-03 16:44 ` Linus Torvalds
2008-07-03 16:46 ` Linus Torvalds
2008-07-03 16:46 ` Linus Torvalds
2008-07-03 17:16 ` Mel Gorman
2008-07-03 17:16 ` Mel Gorman
2008-07-03 16:38 ` [problem] raid performance loss with 2.6.26-rc8 on 32-bit x86 (bisected) Mel Gorman
2008-07-03 16:38 ` Mel Gorman
2008-07-01 22:28 ` Dan Williams
2008-07-01 22:28 ` Dan Williams
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=1215064455.15797.4.camel@dwillia2-linux.ch.intel.com \
--to=dan.j.williams@intel.com \
--cc=a.beregalov@gmail.com \
--cc=akpm@linux-foundation.org \
--cc=apw@shadowen.org \
--cc=babydr@baby-dragons.com \
--cc=cl@linux-foundation.org \
--cc=lee.schermerhorn@hp.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=mel@csn.ul.ie \
--cc=neilb@suse.de \
--cc=torvalds@linux-foundation.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.