All of lore.kernel.org
 help / color / mirror / Atom feed
From: Nick Piggin <piggin@cyberone.com.au>
To: Andrew Morton <akpm@osdl.org>
Cc: chrisw@osdl.org, nickpiggin@yahoo.com.au,
	linux-kernel@vger.kernel.org, davej@codemonkey.org.uk
Subject: Re: kswapd in tight loop 2.6.9-rc3-bk-recent
Date: Fri, 08 Oct 2004 13:54:12 +1000	[thread overview]
Message-ID: <41660F64.3090802@cyberone.com.au> (raw)
In-Reply-To: <20041007203048.298029ab.akpm@osdl.org>



Andrew Morton wrote:

>Nick Piggin <piggin@cyberone.com.au> wrote:
>
>>>>Ah, free_pages <= pages_high, ie. 0 <= 0, which is true;
>>>>
>> >> commence spinning.
>> >>
>> >
>> >Maybe.  It requires that the zonelists be screwy:
>> >
>> > Node 1 DMA free:0kB min:0kB low:0kB high:0kB active:0kB inactive:0kB present:0kB
>> > protections[]: 0 0 0
>> > Node 1 Normal free:25272kB min:1020kB low:2040kB high:3060kB active:624172kB inactive:282700kB present:1047936kB
>> > protections[]: 0 0 0
>> > Node 1 HighMem free:0kB min:128kB low:256kB high:384kB active:0kB inactive:0kB present:0kB
>> > protections[]: 0 0 0
>> > Node 0 DMA free:728kB min:12kB low:24kB high:36kB active:788kB inactive:7848kB present:16384kB
>> > protections[]: 0 0 0
>> > Node 0 Normal free:27200kB min:1004kB low:2008kB high:3012kB active:332792kB inactive:422744kB present:1032188kB
>> > protections[]: 0 0 0
>> > Node 0 HighMem free:0kB min:128kB low:256kB high:384kB active:0kB inactive:0kB present:0kB
>> > protections[]: 0 0 0
>> >
>> >See that DMA zone on node 1?  Wonder how it got like that.  It
>> >should not be inside pgdat->nrzones anyway.
>> >
>> >
>> Oh? Why not? I didn't think empty zones were filtered out?
>>
>
>That ininitialised zone should be outside pgdat->nr_zones, no?
>
>
>> (perhaps they should be).
>>
>
>They will be.
>

I don't think the DMA side will be skipped though? Because you're
always counting down from nr_zones... That would be what it is
what it is spinning on.

>
>Chris, do you have time to test this, against -linus?
>
>

I think my patch would be sufficient to handle the kswapd side
(yours would be valid too, but no need to add the extra checks).

>diff -puN mm/vmscan.c~vmscan-handle-empty-zones mm/vmscan.c
>--- 25/mm/vmscan.c~vmscan-handle-empty-zones	2004-10-07 19:10:52.844797784 -0700
>+++ 25-akpm/mm/vmscan.c	2004-10-07 19:11:49.804138648 -0700
>@@ -851,6 +851,9 @@ shrink_caches(struct zone **zones, struc
> 	for (i = 0; zones[i] != NULL; i++) {
> 		struct zone *zone = zones[i];
> 
>+		if (zone->present_pages == 0)
>+			continue;
>+
> 		zone->temp_priority = sc->priority;
> 		if (zone->prev_priority > sc->priority)
> 			zone->prev_priority = sc->priority;
>

...but could probably use something like this as well, for the
direct reclaim side.


  reply	other threads:[~2004-10-08  3:59 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-10-07 21:20 kswapd in tight loop 2.6.9-rc3-bk-recent Chris Wright
2004-10-07 21:39 ` Dave Jones
2004-10-07 21:49   ` Chris Wright
2004-10-07 23:40 ` Andrew Morton
2004-10-08  0:34   ` Nick Piggin
2004-10-08  0:37     ` Andrew Morton
2004-10-08  0:51       ` Chris Wright
2004-10-08  1:40         ` Andrew Morton
2004-10-08  0:42     ` Andrew Morton
2004-10-08  1:41       ` Chris Wright
2004-10-08  1:51         ` Chris Wright
2004-10-08  1:53           ` Andrew Morton
2004-10-08  2:46             ` Nick Piggin
2004-10-08  3:01               ` Andrew Morton
2004-10-08  3:13                 ` Nick Piggin
2004-10-08  3:30                   ` Andrew Morton
2004-10-08  3:54                     ` Nick Piggin [this message]
2004-10-08  4:48                       ` Nick Piggin
2004-10-08  4:57                         ` Andrew Morton
2004-10-08  5:21                     ` Chris Wright
2004-10-08  5:27                       ` Chris Wright
2004-10-08 10:10                       ` Nick Piggin
2004-10-08  3:15                 ` Nick Piggin
2004-10-08  3:05             ` Chris Wright

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=41660F64.3090802@cyberone.com.au \
    --to=piggin@cyberone.com.au \
    --cc=akpm@osdl.org \
    --cc=chrisw@osdl.org \
    --cc=davej@codemonkey.org.uk \
    --cc=linux-kernel@vger.kernel.org \
    --cc=nickpiggin@yahoo.com.au \
    /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.