From: Josh Aas <josha@sgi.com>
To: linux-ia64@vger.kernel.org
Subject: Re: free bootmem feedback patch
Date: Tue, 03 Aug 2004 17:53:53 +0000 [thread overview]
Message-ID: <410FD131.4050809@sgi.com> (raw)
In-Reply-To: <40F46962.4090604@sgi.com>
Are there any outstanding issues with Tony's second revision of the
free_all_bootmem_core function? Do we still have the problem of making
sure longwork in node_bootmem_map[] corresponds to an order 6 page with
the right physical alignment? The second revision looks good to me. If I
could get some more feedback on it I'll clean up any remaining issues so
it can land sometime soon. I'll post test results (unpatched vs.
patched) on a big machine later this afternoon.
wli - do you still want to see the memory map for my big test machine
(512GB RAM)?
-Josh
Luck, Tony wrote:
>>>still be looking at a couple of minutes :-( Since I only got a
>>>55% reduction, rather than a factor of 64 I expect that modifying
>>>to look an larger order pages may have diminishing returns.
>>
>>I'll work relative to this for the rest. I'd recommend using __ffs()
>>instead of the loop. Also, combining this with a specialized page
>>freeing function that doesn't e.g. fiddle with page references
>
>
> The returns to freeing larger pages do indeed diminish fast. I
> added simple "look at the next word" and "look at the next
> three words" hacks to see what the times looked like with
> order=7 and order=8 ... and found that order 8 is only 1.8%
> faster than order 6.
>
>
>>The common case is the bitmap and mem_map[] starting at 0.
>
>
> Sadly not quite 0. PG_reserved is set for each page structure
> and must be cleared ... so we have to touch every page structure
> at least once :-( On a 4TB machine thats 0.25 billion cache
> misses (with a 16K page).
>
>
>
>>remaining cases are pretty marginalized. This can actually be checked
>>at runtime by checking the alignment of ->node_boot_start, e.g. maybe
>>if (!~v && !((__pa(bdata->node_boot_start) >> PAGE_SHIFT) &
>>((1 << MAX_ORDER) - 1)))
>>instead of just !~v.
>
>
> That check can be done once (for each node) outside the loop. The
> exact expression used to set the "gofast" variable in my patch
> make need some tweaking
>
> New patch attached.
>
> -Tony
--
Josh Aas
Silicon Graphics, Inc. (SGI)
Linux System Software
651-683-3068
next prev parent reply other threads:[~2004-08-03 17:53 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-07-13 22:59 free bootmem feedback patch Joshua Aas
2004-07-13 23:14 ` Luck, Tony
2004-07-13 23:52 ` Joshua Aas
2004-07-14 8:44 ` Andi Kleen
2004-07-14 9:17 ` William Lee Irwin III
2004-07-14 9:19 ` William Lee Irwin III
2004-07-14 16:17 ` Joshua Aas
2004-07-14 18:34 ` Luck, Tony
2004-07-14 22:12 ` William Lee Irwin III
2004-07-15 19:11 ` Luck, Tony
2004-07-15 19:31 ` Matthew Wilcox
2004-07-15 20:21 ` David Mosberger
2004-07-15 23:16 ` William Lee Irwin III
2004-07-15 23:34 ` Matthew Wilcox
2004-07-15 23:53 ` Luck, Tony
2004-07-16 0:09 ` David Mosberger
2004-07-16 0:11 ` William Lee Irwin III
2004-07-16 0:18 ` Matthew Wilcox
2004-07-16 0:18 ` William Lee Irwin III
2004-08-03 17:53 ` Josh Aas [this message]
2004-08-03 23:53 ` William Lee Irwin III
2004-08-06 14:11 ` Josh Aas
2004-08-06 14:17 ` William Lee Irwin III
2004-08-06 17:58 ` Luck, Tony
2004-08-06 18:27 ` Josh Aas
2004-08-06 20:09 ` Luck, Tony
2004-08-06 20:51 ` William Lee Irwin III
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=410FD131.4050809@sgi.com \
--to=josha@sgi.com \
--cc=linux-ia64@vger.kernel.org \
/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.