1999-11-12 13:16:27

by Ingo Molnar

[permalink] [raw]
Subject: [patch] zoned-2.3.27-E0


Stephen noticed that 2.3.27 doesnt boot on <=16MB boxes due to the zoned
allocator changes. The attached patch should fix this. Unfortunately i
found no way to prevent introducing the runtime 'nr_zones' variable.

-- mingo


Attachments:
zoned-2.3.27-E0 (3.48 kB)

1999-11-12 17:34:49

by Stephen C. Tweedie

[permalink] [raw]
Subject: Re: [patch] zoned-2.3.27-E0

Hi,

On Fri, 12 Nov 1999 15:02:31 +0100 (CET), Ingo Molnar
<[email protected]> said:

> Stephen noticed that 2.3.27 doesnt boot on <=16MB boxes due to the zoned
> allocator changes. The attached patch should fix this. Unfortunately i
> found no way to prevent introducing the runtime 'nr_zones' variable.

A quick special-case check on zones known to be empty would allow you to
maintain performance even if you have zones which will never have any
pages in them on a given machine.

You need this anyway --- Alan pointed out that it is a significant hit
on benchmarks if, during normal running, one zone fills up and you start
falling back routinely to a lower zone.

--Stephen

1999-11-12 17:45:37

by Ingo Molnar

[permalink] [raw]
Subject: Re: [patch] zoned-2.3.27-E0


On Fri, 12 Nov 1999, Stephen C. Tweedie wrote:

> > Stephen noticed that 2.3.27 doesnt boot on <=16MB boxes due to the zoned
> > allocator changes. The attached patch should fix this. Unfortunately i
> > found no way to prevent introducing the runtime 'nr_zones' variable.
>
> A quick special-case check on zones known to be empty would allow you to
> maintain performance even if you have zones which will never have any
> pages in them on a given machine.

yes, i first did something like this, but it's just as slow in the end.
(well, there is just an academic slowdown anyway)

> You need this anyway --- Alan pointed out that it is a significant hit
> on benchmarks if, during normal running, one zone fills up and you
> start falling back routinely to a lower zone.

at that point we are wasting much more time already walking page tables in
kswapd and try_to_free_pages to free RAM.

and we'd have to get the spinlock to rely on zone->free_pages, and for any
non-page-sized allocation request zone->free_pages is not authorative.

-- mingo