mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Andrea Arcangeli <andrea@suse.de>
To: Andrew Morton <akpm@osdl.org>
Cc: wli@holomorphy.com, nickpiggin@yahoo.com.au, tiwai@suse.de,
	ak@suse.de, ak@muc.de, tripperda@nvidia.com, discuss@x86-64.org,
	linux-kernel@vger.kernel.org
Subject: Re: [discuss] Re: 32-bit dma allocations on 64-bit platforms
Date: Fri, 25 Jun 2004 01:09:19 +0200	[thread overview]
Message-ID: <20040624230919.GB30687@dualathlon.random> (raw)
In-Reply-To: <20040624151130.4a444973.akpm@osdl.org>

On Thu, Jun 24, 2004 at 03:11:30PM -0700, Andrew Morton wrote:
> After setting lower_zone_protection to 10:
> 
> Active:111515 inactive:65009 dirty:116 writeback:0 unstable:0 free:3290 slab:75489 mapped:52247 pagetables:446
> DMA free:4172kB min:16kB low:32kB high:48kB active:0kB inactive:0kB present:16384kB
> protections[]: 8 5156 5860
> Normal free:8736kB min:936kB low:1872kB high:2808kB active:352780kB inactive:224972kB present:901120kB
> protections[]: 0 468 1172
> HighMem free:252kB min:128kB low:256kB high:384kB active:93280kB inactive:35064kB present:130516kB
> protections[]: 0 0 64
> 
> It's a bit complex, and perhaps the relative levels of the various
> thresholds could be tightened up.

this is the algorithm I added to 2.4 to produce good protection levels (with
lower_zone_reserve_ratio supposedly tunable at boot time):

static int lower_zone_reserve_ratio[MAX_NR_ZONES-1] = { 256, 32 };


		zone->watermarks[j].min = mask;
		zone->watermarks[j].low = mask*2;
		zone->watermarks[j].high = mask*3;
		/* now set the watermarks of the lower zones in the "j" classzone */
		for (idx = j-1; idx >= 0; idx--) {
			zone_t * lower_zone = pgdat->node_zones + idx;
			unsigned long lower_zone_reserve;
			if (!lower_zone->size)
				continue;

			mask = lower_zone->watermarks[idx].min;
			lower_zone->watermarks[j].min = mask;
			lower_zone->watermarks[j].low = mask*2;
			lower_zone->watermarks[j].high = mask*3;

			/* now the brainer part */
			lower_zone_reserve = realsize / lower_zone_reserve_ratio[idx];
			lower_zone->watermarks[j].min += lower_zone_reserve;
			lower_zone->watermarks[j].low += lower_zone_reserve;
			lower_zone->watermarks[j].high += lower_zone_reserve;

			realsize += lower_zone->realsize;
		}

Your code must be inferior since it doesn't even allow to tune each zone
differently (you seems not to have a lower_zone_reserve_ratio[idx]). Not sure
why you dont' simply forward port the code from 2.4 instead of reinventing it.

  reply	other threads:[~2004-06-24 23:09 UTC|newest]

Thread overview: 58+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <m3acyu6pwd.fsf@averell.firstfloor.org>
     [not found] ` <20040623213643.GB32456@hygelac>
2004-06-23 23:46   ` Andi Kleen
2004-06-24 11:13     ` Takashi Iwai
2004-06-24 11:29       ` [discuss] " Andi Kleen
2004-06-24 14:36         ` Takashi Iwai
2004-06-24 14:42           ` Andi Kleen
2004-06-24 14:58             ` Takashi Iwai
2004-06-24 15:29               ` Andrea Arcangeli
2004-06-24 15:48                 ` Nick Piggin
2004-06-24 16:52                   ` Andrea Arcangeli
2004-06-24 16:56                     ` William Lee Irwin III
2004-06-24 17:32                       ` Andrea Arcangeli
2004-06-24 17:38                         ` William Lee Irwin III
2004-06-24 18:02                           ` Andrea Arcangeli
2004-06-24 18:13                             ` William Lee Irwin III
2004-06-24 18:27                               ` Andrea Arcangeli
2004-06-24 18:50                                 ` William Lee Irwin III
2004-06-24 21:54                       ` Andrew Morton
2004-06-24 22:08                         ` William Lee Irwin III
2004-06-24 22:45                           ` Andrea Arcangeli
2004-06-24 22:51                             ` William Lee Irwin III
2004-06-24 23:09                               ` Andrew Morton
2004-06-24 23:15                                 ` William Lee Irwin III
2004-06-25  6:16                                   ` William Lee Irwin III
2004-06-25  2:39                                 ` Andrea Arcangeli
2004-06-25  2:47                                   ` Andrew Morton
2004-06-25  3:19                                     ` Andrea Arcangeli
2004-06-24 22:11                         ` Andrew Morton
2004-06-24 23:09                           ` Andrea Arcangeli [this message]
2004-06-25  1:17                             ` Nick Piggin
2004-06-25  3:11                               ` Andrea Arcangeli
2004-06-24 22:21                         ` Andrea Arcangeli
2004-06-24 22:36                           ` Andrew Morton
2004-06-24 23:15                             ` Andrea Arcangeli
2004-06-24 22:37                           ` William Lee Irwin III
2004-06-24 22:40                             ` William Lee Irwin III
2004-06-24 23:21                             ` Andrea Arcangeli
2004-06-24 23:45                               ` William Lee Irwin III
2004-06-24 17:39                   ` Andrea Arcangeli
2004-06-24 17:53                     ` William Lee Irwin III
2004-06-24 18:07                       ` Andrea Arcangeli
2004-06-24 18:29                         ` William Lee Irwin III
2004-06-24 16:04                 ` Takashi Iwai
2004-06-24 17:16                   ` Andrea Arcangeli
2004-06-24 18:33                     ` Takashi Iwai
2004-06-24 18:44                       ` Andrea Arcangeli
2004-06-25 15:50                         ` Takashi Iwai
2004-06-25 17:30                           ` Andrea Arcangeli
2004-06-25 17:39                             ` Takashi Iwai
2004-06-25 17:45                               ` Andrea Arcangeli
2004-06-24 14:45       ` Terence Ripperda
2004-06-24 15:41         ` Andrea Arcangeli
2004-06-24 15:44     ` Terence Ripperda
2004-06-24 16:15       ` [discuss] " Andi Kleen
2004-06-24 17:22         ` Andrea Arcangeli
2004-06-24 22:28         ` Terence Ripperda
2004-06-24 18:51       ` Andi Kleen
2004-06-26  4:58         ` David Mosberger
2004-06-24 13:48 Jesse Barnes
2004-06-24 14:39 ` Terence Ripperda
2004-06-24 15:01   ` [discuss] " Andi Kleen

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=20040624230919.GB30687@dualathlon.random \
    --to=andrea@suse.de \
    --cc=ak@muc.de \
    --cc=ak@suse.de \
    --cc=akpm@osdl.org \
    --cc=discuss@x86-64.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=nickpiggin@yahoo.com.au \
    --cc=tiwai@suse.de \
    --cc=tripperda@nvidia.com \
    --cc=wli@holomorphy.com \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®