From: Johannes Weiner <hannes@saeurebad.de>
To: Ingo Molnar <mingo@elte.hu>
Cc: Linus Torvalds <torvalds@linux-foundation.org>,
linux-kernel@vger.kernel.org,
Andrew Morton <akpm@linux-foundation.org>,
Thomas Gleixner <tglx@linutronix.de>,
"H. Peter Anvin" <hpa@zytor.com>, Yinghai Lu <yinghai.lu@sun.com>,
Yinghai Lu <yhlu.kernel@gmail.com>,
jbarnes@virtuousgeek.org
Subject: Re: [patch] mm: node-setup agnostic free_bootmem()
Date: Wed, 30 Apr 2008 12:52:48 +0200 [thread overview]
Message-ID: <87mynby5q7.fsf@saeurebad.de> (raw)
In-Reply-To: <20080429142520.GE26461@elte.hu> (Ingo Molnar's message of "Tue, 29 Apr 2008 16:25:20 +0200")
Hi,
Ingo Molnar <mingo@elte.hu> writes:
> * Johannes Weiner <hannes@saeurebad.de> wrote:
>
>> > void __init free_bootmem(unsigned long addr, unsigned long size)
>> > {
>> > bootmem_data_t *bdata;
>> > - list_for_each_entry(bdata, &bdata_list, list)
>> > - free_bootmem_core(bdata, addr, size);
>> > + unsigned long pos = addr;
>> > + unsigned long partsize = size;
>> > +
>> > + list_for_each_entry(bdata, &bdata_list, list) {
>> > + unsigned long remainder = 0;
>> > +
>> > + if (pos < bdata->node_boot_start)
>> > + continue;
>> > +
>> > + if (PFN_DOWN(pos + partsize) > bdata->node_low_pfn) {
>> > + remainder = PFN_DOWN(pos + partsize) - bdata->node_low_pfn;
>> > + partsize -= remainder;
>> > + }
>> > +
>> > + free_bootmem_core(bdata, pos, partsize);
>> > +
>> > + if (!remainder)
>> > + return;
>> > +
>> > + pos = PFN_PHYS(bdata->node_low_pfn + 1);
>> > + }
>> > + printk(KERN_ERR "free_bootmem: request: addr=%lx, size=%lx, "
>> > + "state: pos=%lx, partsize=%lx\n", addr, size,
>> > + pos, partsize);
>> > + BUG();
>> > }
>> >
>> > unsigned long __init free_all_bootmem(void)
>>
>> Yes, looks good. But needs explicit testing, I guess.
>
> yep, but as Yinghai Lu has pointed it out, this removes a cross-node
> allocation fix. That fix has to be preserved in any cleanup, agreed?
Yes, if Yinghai is right, my patch should be dropped, of course.
> in general bootmem should assume the weirdest of NUMA topologies and be
> defensive about them. Topologies will only become more complex, never
> less complex.
Okay.
Hannes
next prev parent reply other threads:[~2008-04-30 10:53 UTC|newest]
Thread overview: 52+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-04-26 18:55 [RFC git pull] "big box" x86 changes Ingo Molnar
2008-04-26 19:05 ` Stefan Richter
2008-04-26 19:21 ` Ingo Molnar
2008-04-26 19:12 ` Linus Torvalds
2008-04-26 19:41 ` [git pull] "big box" x86 changes, bootmem/sparsemem Ingo Molnar
2008-04-26 19:52 ` Linus Torvalds
2008-04-26 20:07 ` Ingo Molnar
2008-04-26 20:08 ` [git pull] "big box" x86 changes, bootmem/sparsemem, #2 Ingo Molnar
2008-04-26 20:30 ` Linus Torvalds
2008-04-26 20:55 ` [git pull] "big box" x86 changes, bootmem/sparsemem, #3 Ingo Molnar
2008-04-27 22:48 ` [git pull] "big box" x86 changes, bootmem/sparsemem Johannes Weiner
2008-04-27 23:46 ` Ingo Molnar
2008-04-28 0:19 ` Johannes Weiner
2008-04-28 0:40 ` [patch] mm: node-setup agnostic free_bootmem() Ingo Molnar
2008-04-28 1:48 ` Yinghai Lu
2008-04-28 16:54 ` Johannes Weiner
2008-04-28 19:11 ` Yinghai Lu
2008-04-28 19:55 ` Yinghai Lu
2008-04-30 10:50 ` Johannes Weiner
2008-04-30 16:22 ` Yinghai Lu
2008-04-30 17:52 ` Johannes Weiner
2008-04-30 20:30 ` Yinghai Lu
2008-04-28 16:49 ` Johannes Weiner
2008-04-29 14:25 ` Ingo Molnar
2008-04-30 10:52 ` Johannes Weiner [this message]
2008-04-28 0:33 ` [git pull] "big box" x86 changes, bootmem/sparsemem Yinghai Lu
2008-04-28 16:58 ` Johannes Weiner
2008-04-26 19:54 ` [git pull] "big box" x86 changes, boot protocol Ingo Molnar
2008-04-26 20:39 ` Andrew Morton
2008-04-26 21:06 ` Adrian Bunk
2008-04-26 21:10 ` H. Peter Anvin
2008-04-26 21:11 ` Linus Torvalds
2008-04-26 21:17 ` Ingo Molnar
2008-04-26 23:37 ` Jeremy Fitzhardinge
2008-04-27 11:21 ` Ian Campbell
2008-04-27 19:29 ` H. Peter Anvin
2008-04-28 15:27 ` Ingo Molnar
2008-04-26 20:24 ` [RFC git pull] "big box" x86 changes, GART Ingo Molnar
2008-04-26 20:26 ` Ingo Molnar
2008-04-26 21:55 ` [git pull] "big box" x86 changes, PCI Ingo Molnar
2008-04-27 16:30 ` Jesse Barnes
2008-04-28 15:38 ` Ingo Molnar
2008-04-28 20:34 ` Jesse Barnes
2008-04-28 22:53 ` Yinghai Lu
2008-04-28 23:27 ` [PATCH] x86/pci: remove flag in pci_cfg_space_size_ext Yinghai Lu
2008-04-29 16:14 ` Jesse Barnes
2008-04-29 22:05 ` Ingo Molnar
2008-04-29 22:34 ` Jesse Barnes
2008-04-26 22:17 ` [RFC git pull] "big box" x86 changes Andi Kleen
2008-04-27 3:14 ` Yinghai Lu
2008-04-27 8:30 ` Andi Kleen
2008-04-27 8:32 ` [RFC git pull] "big box" x86 changes II 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=87mynby5q7.fsf@saeurebad.de \
--to=hannes@saeurebad.de \
--cc=akpm@linux-foundation.org \
--cc=hpa@zytor.com \
--cc=jbarnes@virtuousgeek.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=tglx@linutronix.de \
--cc=torvalds@linux-foundation.org \
--cc=yhlu.kernel@gmail.com \
--cc=yinghai.lu@sun.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 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.