From: kanoj@google.engr.sgi.com (Kanoj Sarcar)
To: Andrea Arcangeli <andrea@suse.de>
Cc: Rik van Riel <riel@nl.linux.org>,
torvalds@transmeta.com, mingo@chiara.csoma.elte.hu,
alan@lxorguk.ukuu.org.uk, linux-mm@kvack.org,
linux-kernel@vger.rutgers.edu
Subject: Re: [RFC] 2.3.39 zone balancing
Date: Thu, 13 Jan 2000 13:02:19 -0800 (PST) [thread overview]
Message-ID: <200001132102.NAA20091@google.engr.sgi.com> (raw)
In-Reply-To: <Pine.LNX.4.21.0001132054060.920-100000@alpha.random> from "Andrea Arcangeli" at Jan 13, 2000 08:59:06 PM
>
> On Thu, 13 Jan 2000, Kanoj Sarcar wrote:
>
> >Note that as I point out in my documentation, and as Alan
> >also points out, 2.2 is doing fine. The 2.2 code does not
> >guarantee dma-zone balancing even if it is empty (if there
> >is enough regular free pages). Which means all dma requests
> >will fail. I have tried to fix that, since with HIGHMEM,
> >the problem is actually more aggravated.
>
> It's not more aggravated. You fallback in the ISA-DMA zone in the same way
> as before.
>
No, I am referring to a different problem that I mentioned in the
doc. If you have a large number of free regular pages, and the dma
zone is completely exhausted, the 2.2 decision of balacing the dma
zone might never fetch an "yes" answer, because it is based on total
number of free pages, not also the per zone free pages. Right? Things
will get worse the more non-dma pages there are.
> >I have no idea how having a large number of free dma pages
> >ensures more higher-order free pages. Can someone give me
> >the logic for this claim?
>
> Probability.
>
> Suppose you have 100mbyte of physical memory. Suppose all 100mbyte are
> free. Suppose you want to do a 100mbyte allocation of physically contigous
> memory. You'll succeed.
>
> If you have 100mbyte of memory and only half of memory is free. You may
> not succeed in allocating 50mbyte of contiguous memory. So the more memory
> is free, the more probability you have to succeed in allocating a large
> chunk of physically contigous memory.
>
Oh, okay I see. There is nothing about the dma zone then, you could
make the balancing more aggressive for the other zones too. Basically,
these kinds of tuning should be controlled by sysctls (instead of
>>7, do >> N), so while most sites will prefer to run with the least
aggressive balancing, there may be sites with drivers that need
many high-order pages, they would be willing to sacrifice some
performance by doing more aggressive balancing. Comes under finetuning
in the doc.
> >Yes, we need to decide whether kswapd needs modification too. Its
> >just that I want to do incremental fixes, instead of change a
> >huge bunch of code all at once. The question is, if I had a Linux
> >2.3 kernel, where I had completely deleted kswapd(), what problems
> >would the kernel face? Ie, what is kswapd()'s purpose?
>
> I had a pre-2.2.x kernel without kswapd too :). You need kswapd for
> machines where noone process ever run and the only thing that runs are
> interrupts and bh handlers (e.g. a router).
>
Oh yes, I was forgetting, that is the reason you need an independent
memory freer in any os. It shouldn't be too hard to teach kswapd about
zones.
Kanoj
> Andrea
>
> --
> 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.nl.linux.org/Linux-MM/
>
--
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.nl.linux.org/Linux-MM/
next prev parent reply other threads:[~2000-01-13 21:02 UTC|newest]
Thread overview: 40+ messages / expand[flat|nested] mbox.gz Atom feed top
2000-01-12 21:11 Kanoj Sarcar
2000-01-13 13:40 ` Rik van Riel
2000-01-13 17:06 ` Andrea Arcangeli
2000-01-13 17:18 ` Alan Cox
2000-01-13 18:37 ` Rik van Riel
2000-01-13 20:13 ` Andrea Arcangeli
2000-01-13 21:12 ` Rik van Riel
2000-01-13 21:40 ` Kanoj Sarcar
2000-01-14 12:25 ` Jamie Lokier
2000-01-14 13:43 ` Andrea Arcangeli
2000-01-13 18:52 ` Kanoj Sarcar
2000-01-13 19:59 ` Andrea Arcangeli
2000-01-13 21:02 ` Kanoj Sarcar [this message]
2000-01-13 21:34 ` Benjamin C.R. LaHaise
2000-01-13 21:48 ` Kanoj Sarcar
2000-01-13 21:42 ` Alan Cox
2000-01-13 21:50 ` Kanoj Sarcar
2000-01-13 21:53 ` Alan Cox
2000-01-13 22:01 ` Linus Torvalds
2000-01-13 22:13 ` Kanoj Sarcar
2000-01-13 22:28 ` Rik van Riel
2000-01-13 22:30 ` Linus Torvalds
2000-01-13 23:53 ` Ingo Molnar
2000-01-13 23:29 ` Linus Torvalds
2000-01-14 0:33 ` Andrea Arcangeli
2000-01-14 0:52 ` Linus Torvalds
2000-01-14 1:08 ` Rik van Riel
2000-01-14 2:13 ` Ingo Molnar
2000-01-14 1:17 ` Kanoj Sarcar
2000-01-14 2:36 ` Ingo Molnar
2000-01-14 20:33 ` Peter Rival
2000-01-14 1:13 ` Kanoj Sarcar
2000-01-14 2:27 ` Ingo Molnar
2000-01-14 2:46 ` Ingo Molnar
2000-01-14 6:22 ` Kanoj Sarcar
2000-01-15 2:03 ` Reworked 2.3.39 zone balancing - v1 Kanoj Sarcar
2000-01-14 0:28 ` [RFC] 2.3.39 zone balancing Andrea Arcangeli
2000-01-13 17:12 ` Andrea Arcangeli
2000-01-13 18:30 ` Kanoj Sarcar
2000-01-13 19:22 ` Andrea Arcangeli
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=200001132102.NAA20091@google.engr.sgi.com \
--to=kanoj@google.engr.sgi.com \
--cc=alan@lxorguk.ukuu.org.uk \
--cc=andrea@suse.de \
--cc=linux-kernel@vger.rutgers.edu \
--cc=linux-mm@kvack.org \
--cc=mingo@chiara.csoma.elte.hu \
--cc=riel@nl.linux.org \
--cc=torvalds@transmeta.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