From: Mel Gorman <mel-wPRd99KPJ+uzQB+pC5nmwQ@public.gmane.org>
To: Christoph Lameter <clameter-sJ/iWh9BUns@public.gmane.org>
Cc: Alexander Beregalov
<a.beregalov-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
kernel-testers-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
kernel list
<linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
linux-mm-Bw31MaZKKs3YtjvyW6yDsg@public.gmane.org,
Lee Schermerhorn <lee.schermerhorn-VXdhtT5mjnY@public.gmane.org>,
KAMEZAWA Hiroyuki
<kamezawa.hiroyu-+CUm20s59erQFUHtdCDX3A@public.gmane.org>,
Hugh Dickins <hugh-DTz5qymZ9yRBDgjK7y7TUQ@public.gmane.org>,
Nick Piggin <nickpiggin-/E1597aS9LT0CCvOHzKKcA@public.gmane.org>,
Andrew Morton
<akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org>,
Linus Torvalds
<torvalds-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org>,
bfields-uC3wQj2KruNg9hUCZPvPmw@public.gmane.org,
neilb-l3A5Bk7waGM@public.gmane.org,
linux-nfs-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: Re: 2.6.26-rc: nfsd hangs for a few sec
Date: Sun, 22 Jun 2008 02:38:02 +0100 [thread overview]
Message-ID: <20080622013801.GE4692@csn.ul.ie> (raw)
In-Reply-To: <Pine.LNX.4.64.0806211711470.18719-RYO/mD75kfhx2SFC9UQUAuF7EQX82lMiAL8bYrjMMd8@public.gmane.org>
On (21/06/08 17:18), Christoph Lameter didst pronounce:
> On Sat, 21 Jun 2008, Mel Gorman wrote:
>
> > --- a/mm/vmscan.c
> > +++ b/mm/vmscan.c
> > @@ -1249,15 +1249,13 @@ static unsigned long shrink_zone(int priority, struct zone *zone,
> > static unsigned long shrink_zones(int priority, struct zonelist *zonelist,
> > struct scan_control *sc)
> > {
> > + enum zone_type high_zoneidx = gfp_zone(sc->gfp_mask);
> > unsigned long nr_reclaimed = 0;
> > - struct zone **zones = zonelist->zones;
> > - int i;
> > -
> > + struct zone **z;
> > + struct zone *zone;
> >
> > sc->all_unreclaimable = 1;
> > - for (i = 0; zones[i] != NULL; i++) {
> > - struct zone *zone = zones[i];
> > -
> > + for_each_zone_zonelist(zone, z, zonelist, high_zoneidx) {
> > if (!populated_zone(zone))
> > continue;
> > /*
> >
> > Code before - Walk the zonelist for GFP_KERNEL
>
> Before the change we walk all zones of the zonelist.
>
Yeah, but the zonelist is for GFP_KERNEL so it should not include the HIGHMEM
zones, right? The key change is that after the patch there are fewer zonelists
than get filtered.
> > Code after - Filter zonelist based on what is allowed for GFP_KERNEL
>
> After the change we walk only zones for GFP_KERNEL. Meaning no HIGHMEM
> and MOVABLE zones. Doesnt that mean that reclaim is limited to ZONE_DMA
> and ZONE_NORMAL? Is that really intended?
>
It is for GFP_KERNEL allocations but that is expected.
> If not then the following patch should return us to old behavior:
>
I think the effect of that patch is that zones get shrunk that have
nothing to do with the requestors requirements. Right?
> ---
> mm/vmscan.c | 3 +--
> 1 file changed, 1 insertion(+), 2 deletions(-)
>
> Index: linux-2.6/mm/vmscan.c
> ===================================================================
> --- linux-2.6.orig/mm/vmscan.c 2008-06-21 17:15:45.597627317 -0700
> +++ linux-2.6/mm/vmscan.c 2008-06-21 17:17:16.273293260 -0700
> @@ -1249,13 +1249,12 @@ static unsigned long shrink_zone(int pri
> static unsigned long shrink_zones(int priority, struct zonelist *zonelist,
> struct scan_control *sc)
> {
> - enum zone_type high_zoneidx = gfp_zone(sc->gfp_mask);
> unsigned long nr_reclaimed = 0;
> struct zoneref *z;
> struct zone *zone;
>
> sc->all_unreclaimable = 1;
> - for_each_zone_zonelist(zone, z, zonelist, high_zoneidx) {
> + for_each_zone_zonelist(zone, z, zonelist, MAX_NR_ZONES - 1) {
> if (!populated_zone(zone))
> continue;
> /*
>
--
Mel Gorman
Part-time Phd Student Linux Technology Center
University of Limerick IBM Dublin Software Lab
--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
WARNING: multiple messages have this Message-ID (diff)
From: Mel Gorman <mel-wPRd99KPJ+uzQB+pC5nmwQ@public.gmane.org>
To: Christoph Lameter <clameter@sgi.com>
Cc: Alexander Beregalov <a.beregalov@gmail.com>,
kernel-testers@vger.kernel.org,
kernel list <linux-kernel@vger.kernel.org>,
linux-mm@kvack.org, Lee Schermerhorn <lee.schermerhorn@hp.com>,
KAMEZAWA Hiroyuki
<kamezawa.hiroyu-+CUm20s59erQFUHtdCDX3A@public.gmane.org>,
Hugh Dickins <hugh-DTz5qymZ9yRBDgjK7y7TUQ@public.gmane.org>,
Nick Piggin <nickpiggin-/E1597aS9LT0CCvOHzKKcA@public.gmane.org>,
Andrew Morton <akpm@linux-foundation.org>,
Linus Torvalds <torvalds@linux-foundation.org>,
bfields@fieldses.org, neilb@suse.de, linux-nfs@vger.kernel.org
Subject: Re: 2.6.26-rc: nfsd hangs for a few sec
Date: Sun, 22 Jun 2008 02:38:02 +0100 [thread overview]
Message-ID: <20080622013801.GE4692@csn.ul.ie> (raw)
In-Reply-To: <Pine.LNX.4.64.0806211711470.18719-RYO/mD75kfhx2SFC9UQUAuF7EQX82lMiAL8bYrjMMd8@public.gmane.org>
On (21/06/08 17:18), Christoph Lameter didst pronounce:
> On Sat, 21 Jun 2008, Mel Gorman wrote:
>
> > --- a/mm/vmscan.c
> > +++ b/mm/vmscan.c
> > @@ -1249,15 +1249,13 @@ static unsigned long shrink_zone(int priority, struct zone *zone,
> > static unsigned long shrink_zones(int priority, struct zonelist *zonelist,
> > struct scan_control *sc)
> > {
> > + enum zone_type high_zoneidx = gfp_zone(sc->gfp_mask);
> > unsigned long nr_reclaimed = 0;
> > - struct zone **zones = zonelist->zones;
> > - int i;
> > -
> > + struct zone **z;
> > + struct zone *zone;
> >
> > sc->all_unreclaimable = 1;
> > - for (i = 0; zones[i] != NULL; i++) {
> > - struct zone *zone = zones[i];
> > -
> > + for_each_zone_zonelist(zone, z, zonelist, high_zoneidx) {
> > if (!populated_zone(zone))
> > continue;
> > /*
> >
> > Code before - Walk the zonelist for GFP_KERNEL
>
> Before the change we walk all zones of the zonelist.
>
Yeah, but the zonelist is for GFP_KERNEL so it should not include the HIGHMEM
zones, right? The key change is that after the patch there are fewer zonelists
than get filtered.
> > Code after - Filter zonelist based on what is allowed for GFP_KERNEL
>
> After the change we walk only zones for GFP_KERNEL. Meaning no HIGHMEM
> and MOVABLE zones. Doesnt that mean that reclaim is limited to ZONE_DMA
> and ZONE_NORMAL? Is that really intended?
>
It is for GFP_KERNEL allocations but that is expected.
> If not then the following patch should return us to old behavior:
>
I think the effect of that patch is that zones get shrunk that have
nothing to do with the requestors requirements. Right?
> ---
> mm/vmscan.c | 3 +--
> 1 file changed, 1 insertion(+), 2 deletions(-)
>
> Index: linux-2.6/mm/vmscan.c
> ===================================================================
> --- linux-2.6.orig/mm/vmscan.c 2008-06-21 17:15:45.597627317 -0700
> +++ linux-2.6/mm/vmscan.c 2008-06-21 17:17:16.273293260 -0700
> @@ -1249,13 +1249,12 @@ static unsigned long shrink_zone(int pri
> static unsigned long shrink_zones(int priority, struct zonelist *zonelist,
> struct scan_control *sc)
> {
> - enum zone_type high_zoneidx = gfp_zone(sc->gfp_mask);
> unsigned long nr_reclaimed = 0;
> struct zoneref *z;
> struct zone *zone;
>
> sc->all_unreclaimable = 1;
> - for_each_zone_zonelist(zone, z, zonelist, high_zoneidx) {
> + for_each_zone_zonelist(zone, z, zonelist, MAX_NR_ZONES - 1) {
> if (!populated_zone(zone))
> continue;
> /*
>
--
Mel Gorman
Part-time Phd Student Linux Technology Center
University of Limerick IBM Dublin Software Lab
WARNING: multiple messages have this Message-ID (diff)
From: Mel Gorman <mel@csn.ul.ie>
To: Christoph Lameter <clameter@sgi.com>
Cc: Alexander Beregalov <a.beregalov@gmail.com>,
kernel-testers@vger.kernel.org,
kernel list <linux-kernel@vger.kernel.org>,
linux-mm@kvack.org, Lee Schermerhorn <lee.schermerhorn@hp.com>,
KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>,
Hugh Dickins <hugh@veritas.com>,
Nick Piggin <nickpiggin@yahoo.com.au>,
Andrew Morton <akpm@linux-foundation.org>,
Linus Torvalds <torvalds@linux-foundation.org>,
bfields@fieldses.org, neilb@suse.de, linux-nfs@vger.kernel.org
Subject: Re: 2.6.26-rc: nfsd hangs for a few sec
Date: Sun, 22 Jun 2008 02:38:02 +0100 [thread overview]
Message-ID: <20080622013801.GE4692@csn.ul.ie> (raw)
In-Reply-To: <Pine.LNX.4.64.0806211711470.18719@schroedinger.engr.sgi.com>
On (21/06/08 17:18), Christoph Lameter didst pronounce:
> On Sat, 21 Jun 2008, Mel Gorman wrote:
>
> > --- a/mm/vmscan.c
> > +++ b/mm/vmscan.c
> > @@ -1249,15 +1249,13 @@ static unsigned long shrink_zone(int priority, struct zone *zone,
> > static unsigned long shrink_zones(int priority, struct zonelist *zonelist,
> > struct scan_control *sc)
> > {
> > + enum zone_type high_zoneidx = gfp_zone(sc->gfp_mask);
> > unsigned long nr_reclaimed = 0;
> > - struct zone **zones = zonelist->zones;
> > - int i;
> > -
> > + struct zone **z;
> > + struct zone *zone;
> >
> > sc->all_unreclaimable = 1;
> > - for (i = 0; zones[i] != NULL; i++) {
> > - struct zone *zone = zones[i];
> > -
> > + for_each_zone_zonelist(zone, z, zonelist, high_zoneidx) {
> > if (!populated_zone(zone))
> > continue;
> > /*
> >
> > Code before - Walk the zonelist for GFP_KERNEL
>
> Before the change we walk all zones of the zonelist.
>
Yeah, but the zonelist is for GFP_KERNEL so it should not include the HIGHMEM
zones, right? The key change is that after the patch there are fewer zonelists
than get filtered.
> > Code after - Filter zonelist based on what is allowed for GFP_KERNEL
>
> After the change we walk only zones for GFP_KERNEL. Meaning no HIGHMEM
> and MOVABLE zones. Doesnt that mean that reclaim is limited to ZONE_DMA
> and ZONE_NORMAL? Is that really intended?
>
It is for GFP_KERNEL allocations but that is expected.
> If not then the following patch should return us to old behavior:
>
I think the effect of that patch is that zones get shrunk that have
nothing to do with the requestors requirements. Right?
> ---
> mm/vmscan.c | 3 +--
> 1 file changed, 1 insertion(+), 2 deletions(-)
>
> Index: linux-2.6/mm/vmscan.c
> ===================================================================
> --- linux-2.6.orig/mm/vmscan.c 2008-06-21 17:15:45.597627317 -0700
> +++ linux-2.6/mm/vmscan.c 2008-06-21 17:17:16.273293260 -0700
> @@ -1249,13 +1249,12 @@ static unsigned long shrink_zone(int pri
> static unsigned long shrink_zones(int priority, struct zonelist *zonelist,
> struct scan_control *sc)
> {
> - enum zone_type high_zoneidx = gfp_zone(sc->gfp_mask);
> unsigned long nr_reclaimed = 0;
> struct zoneref *z;
> struct zone *zone;
>
> sc->all_unreclaimable = 1;
> - for_each_zone_zonelist(zone, z, zonelist, high_zoneidx) {
> + for_each_zone_zonelist(zone, z, zonelist, MAX_NR_ZONES - 1) {
> if (!populated_zone(zone))
> continue;
> /*
>
--
Mel Gorman
Part-time Phd Student Linux Technology Center
University of Limerick IBM Dublin Software Lab
WARNING: multiple messages have this Message-ID (diff)
From: Mel Gorman <mel@csn.ul.ie>
To: Christoph Lameter <clameter@sgi.com>
Cc: Alexander Beregalov <a.beregalov@gmail.com>,
kernel-testers@vger.kernel.org,
kernel list <linux-kernel@vger.kernel.org>,
linux-mm@kvack.org, Lee Schermerhorn <lee.schermerhorn@hp.com>,
KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>,
Hugh Dickins <hugh@veritas.com>,
Nick Piggin <nickpiggin@yahoo.com.au>,
Andrew Morton <akpm@linux-foundation.org>,
Linus Torvalds <torvalds@linux-foundation.org>,
bfields@fieldses.org, neilb@suse.de, linux-nfs@vger.kernel.org
Subject: Re: 2.6.26-rc: nfsd hangs for a few sec
Date: Sun, 22 Jun 2008 02:38:02 +0100 [thread overview]
Message-ID: <20080622013801.GE4692@csn.ul.ie> (raw)
In-Reply-To: <Pine.LNX.4.64.0806211711470.18719@schroedinger.engr.sgi.com>
On (21/06/08 17:18), Christoph Lameter didst pronounce:
> On Sat, 21 Jun 2008, Mel Gorman wrote:
>
> > --- a/mm/vmscan.c
> > +++ b/mm/vmscan.c
> > @@ -1249,15 +1249,13 @@ static unsigned long shrink_zone(int priority, struct zone *zone,
> > static unsigned long shrink_zones(int priority, struct zonelist *zonelist,
> > struct scan_control *sc)
> > {
> > + enum zone_type high_zoneidx = gfp_zone(sc->gfp_mask);
> > unsigned long nr_reclaimed = 0;
> > - struct zone **zones = zonelist->zones;
> > - int i;
> > -
> > + struct zone **z;
> > + struct zone *zone;
> >
> > sc->all_unreclaimable = 1;
> > - for (i = 0; zones[i] != NULL; i++) {
> > - struct zone *zone = zones[i];
> > -
> > + for_each_zone_zonelist(zone, z, zonelist, high_zoneidx) {
> > if (!populated_zone(zone))
> > continue;
> > /*
> >
> > Code before - Walk the zonelist for GFP_KERNEL
>
> Before the change we walk all zones of the zonelist.
>
Yeah, but the zonelist is for GFP_KERNEL so it should not include the HIGHMEM
zones, right? The key change is that after the patch there are fewer zonelists
than get filtered.
> > Code after - Filter zonelist based on what is allowed for GFP_KERNEL
>
> After the change we walk only zones for GFP_KERNEL. Meaning no HIGHMEM
> and MOVABLE zones. Doesnt that mean that reclaim is limited to ZONE_DMA
> and ZONE_NORMAL? Is that really intended?
>
It is for GFP_KERNEL allocations but that is expected.
> If not then the following patch should return us to old behavior:
>
I think the effect of that patch is that zones get shrunk that have
nothing to do with the requestors requirements. Right?
> ---
> mm/vmscan.c | 3 +--
> 1 file changed, 1 insertion(+), 2 deletions(-)
>
> Index: linux-2.6/mm/vmscan.c
> ===================================================================
> --- linux-2.6.orig/mm/vmscan.c 2008-06-21 17:15:45.597627317 -0700
> +++ linux-2.6/mm/vmscan.c 2008-06-21 17:17:16.273293260 -0700
> @@ -1249,13 +1249,12 @@ static unsigned long shrink_zone(int pri
> static unsigned long shrink_zones(int priority, struct zonelist *zonelist,
> struct scan_control *sc)
> {
> - enum zone_type high_zoneidx = gfp_zone(sc->gfp_mask);
> unsigned long nr_reclaimed = 0;
> struct zoneref *z;
> struct zone *zone;
>
> sc->all_unreclaimable = 1;
> - for_each_zone_zonelist(zone, z, zonelist, high_zoneidx) {
> + for_each_zone_zonelist(zone, z, zonelist, MAX_NR_ZONES - 1) {
> if (!populated_zone(zone))
> continue;
> /*
>
--
Mel Gorman
Part-time Phd Student Linux Technology Center
University of Limerick IBM Dublin Software Lab
--
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-06-22 1:38 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-06-21 12:57 2.6.26-rc: nfsd hangs for a few sec Alexander Beregalov
2008-06-21 12:57 ` Alexander Beregalov
2008-06-21 12:57 ` Alexander Beregalov
2008-06-21 12:57 ` Alexander Beregalov
[not found] ` <a4423d670806210557k1e8fcee1le3526f62962799e-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2008-06-21 18:36 ` Linus Torvalds
2008-06-21 18:36 ` Linus Torvalds
2008-06-21 18:36 ` Linus Torvalds
2008-06-21 18:36 ` Linus Torvalds
2008-06-21 22:41 ` Mel Gorman
2008-06-21 22:41 ` Mel Gorman
[not found] ` <20080621224135.GD4692-wPRd99KPJ+uzQB+pC5nmwQ@public.gmane.org>
2008-06-21 23:46 ` Christoph Lameter
2008-06-21 23:46 ` Christoph Lameter
2008-06-21 23:46 ` Christoph Lameter
2008-06-21 23:46 ` Christoph Lameter
[not found] ` <Pine.LNX.4.64.0806211636090.18642-RYO/mD75kfhx2SFC9UQUAuF7EQX82lMiAL8bYrjMMd8@public.gmane.org>
2008-06-21 23:54 ` Linus Torvalds
2008-06-21 23:54 ` Linus Torvalds
2008-06-21 23:54 ` Linus Torvalds
2008-06-21 23:54 ` Linus Torvalds
2008-06-22 0:18 ` Christoph Lameter
2008-06-22 0:18 ` Christoph Lameter
2008-06-22 0:18 ` Christoph Lameter
2008-06-22 0:18 ` Christoph Lameter
[not found] ` <Pine.LNX.4.64.0806211711470.18719-RYO/mD75kfhx2SFC9UQUAuF7EQX82lMiAL8bYrjMMd8@public.gmane.org>
2008-06-22 1:38 ` Mel Gorman [this message]
2008-06-22 1:38 ` Mel Gorman
2008-06-22 1:38 ` Mel Gorman
2008-06-22 1:38 ` Mel Gorman
[not found] ` <20080622013801.GE4692-wPRd99KPJ+uzQB+pC5nmwQ@public.gmane.org>
2008-06-22 4:13 ` Christoph Lameter
2008-06-22 4:13 ` Christoph Lameter
2008-06-22 4:13 ` Christoph Lameter
2008-06-22 4:13 ` Christoph Lameter
[not found] ` <Pine.LNX.4.64.0806212107510.18908-RYO/mD75kfhx2SFC9UQUAuF7EQX82lMiAL8bYrjMMd8@public.gmane.org>
2008-06-22 17:07 ` Mel Gorman
2008-06-22 17:07 ` Mel Gorman
2008-06-22 17:07 ` Mel Gorman
2008-06-22 17:07 ` Mel Gorman
2008-06-22 2:10 ` Alexander Beregalov
2008-06-22 2:10 ` Alexander Beregalov
2008-06-22 2:10 ` Alexander Beregalov
2008-06-22 2:10 ` Alexander Beregalov
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=20080622013801.GE4692@csn.ul.ie \
--to=mel-wprd99kpj+uzqb+pc5nmwq@public.gmane.org \
--cc=a.beregalov-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
--cc=akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org \
--cc=bfields-uC3wQj2KruNg9hUCZPvPmw@public.gmane.org \
--cc=clameter-sJ/iWh9BUns@public.gmane.org \
--cc=hugh-DTz5qymZ9yRBDgjK7y7TUQ@public.gmane.org \
--cc=kamezawa.hiroyu-+CUm20s59erQFUHtdCDX3A@public.gmane.org \
--cc=kernel-testers-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=lee.schermerhorn-VXdhtT5mjnY@public.gmane.org \
--cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=linux-mm-Bw31MaZKKs3YtjvyW6yDsg@public.gmane.org \
--cc=linux-nfs-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=neilb-l3A5Bk7waGM@public.gmane.org \
--cc=nickpiggin-/E1597aS9LT0CCvOHzKKcA@public.gmane.org \
--cc=torvalds-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.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.