From: Nishanth Aravamudan <nacc@us.ibm.com>
To: Andi Kleen <andi@firstfloor.org>
Cc: npiggin@suse.de, akpm@linux-foundation.org, linux-mm@kvack.org,
kniht@linux.vnet.ibm.com, abh@cray.com, wli@holomorphy.com
Subject: Re: [patch 13/18] hugetlb: support boot allocate different sizes
Date: Fri, 25 Apr 2008 13:05:32 -0700 [thread overview]
Message-ID: <20080425200532.GC14623@us.ibm.com> (raw)
In-Reply-To: <481227FF.5000802@firstfloor.org>
On 25.04.2008 [20:50:39 +0200], Andi Kleen wrote:
> Nishanth Aravamudan wrote:
>
> > When would this be the case (the list is already init'd)?
>
> It can happen inside the series before all the final checks are in
> with multiple arguments. In theory it could be removed at the end,
> but then it doesn't hurt.
Ok, I guess that indicates to me an ordering issue, but perhaps it is
unavoidable.
> >> for (i = 0; i < h->max_huge_pages; ++i) {
> >> if (h->order >= MAX_ORDER) {
> >> @@ -594,7 +597,7 @@ static void __init hugetlb_init_hstate(s
> >> } else if (!alloc_fresh_huge_page(h))
> >> break;
> >> }
> >> - h->max_huge_pages = h->free_huge_pages = h->nr_huge_pages = i;
> >> + h->max_huge_pages = i;
> >
> > Why don't we need to set these other values anymore?
>
> Because the low level functions handle them already (as a simple grep
> would have told you)
[12:36:40]nacc@arkanoid:~/linux/views/linux-2.6-work$ rgrep free_huge_pages *
arch/x86/ia32/ia32entry.S: .quad quiet_ni_syscall /* free_huge_pages */
include/linux/hugetlb.h: unsigned long free_huge_pages;
include/linux/hugetlb.h: unsigned int free_huge_pages_node[MAX_NUMNODES];
mm/hugetlb.c: * Protects updates to hugepage_freelists, nr_huge_pages, and free_huge_pages
mm/hugetlb.c: h->free_huge_pages++;
mm/hugetlb.c: h->free_huge_pages_node[nid]++;
mm/hugetlb.c: h->free_huge_pages--;
mm/hugetlb.c: h->free_huge_pages_node[nid]--;
mm/hugetlb.c: h->free_huge_pages--;
mm/hugetlb.c: h->free_huge_pages_node[nid]--;
mm/hugetlb.c: needed = (h->resv_huge_pages + delta) - h->free_huge_pages;
mm/hugetlb.c: * because either resv_huge_pages or free_huge_pages may have changed.
mm/hugetlb.c: (h->free_huge_pages + allocated);
mm/hugetlb.c: h->free_huge_pages--;
mm/hugetlb.c: h->free_huge_pages_node[nid]--;
mm/hugetlb.c: if (h->free_huge_pages > h->resv_huge_pages)
mm/hugetlb.c: h->free_huge_pages);
mm/hugetlb.c: h->free_huge_pages--;
mm/hugetlb.c: h->free_huge_pages_node[page_to_nid(page)]--;
mm/hugetlb.c: min_count = h->resv_huge_pages + h->nr_huge_pages - h->free_huge_pages;
mm/hugetlb.c: n += dump_field(buf + n, offsetof(struct hstate, free_huge_pages));
mm/hugetlb.c: free_huge_pages_node[nid]));
mm/hugetlb.c: if (delta > cpuset_mems_nr(h->free_huge_pages_node)) {
Hrm, I don't see a single assignment to free_huge_pages there.
grep'ing through the patches from Nick's series, I don't see any there
either (which would indicate I misapplied a patch).
Andi, I'm doing a review of the patches because it is needed (I haven't
seen a comprehensive set of responses yet) and because my work depends
on these patches doing the right thing. I would appreciate it if you
could give me slightly more useful responses -- for instance, the aside
comment in your reply was entirely unnecessary, as grep didn't shed any
insight *and* I am looking at the code in question as I work. Instead
please try to help me understand the patches.
If I didn't hope differently, I'd believe you don't want me to review
the patches at all.
> > I think it's use should be restricted to the sysctl as much as
> > possible (and the sysctl's should be updated to only do work if
> > write is set). Does that seem sane to you?
>
> Fundamental rule of programming: Information should be only kept at a
> single place if possible.
Ok ... I'm tired of reading one-sentence responses that don't answer my
questions and come across as insulting. The current patches duplicate
max_huge_pages *already*. My point was reduction. So if your response
was meant to be
"Yes, that does seem sane."
then that is all you needed to write. If it was
"No, that does not seem sane."
that would have been equally fine. But what you wrote has neither a
"yes" nor a "no" in it.
Thanks,
Nish
--
Nishanth Aravamudan <nacc@us.ibm.com>
IBM Linux Technology Center
--
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.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
next prev parent reply other threads:[~2008-04-25 20:05 UTC|newest]
Thread overview: 123+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-04-23 1:53 [patch 00/18] multi size, and giant hugetlb page support, 1GB hugetlb for x86 npiggin
2008-04-23 1:53 ` [patch 01/18] hugetlb: fix lockdep spew npiggin
2008-04-23 13:06 ` KOSAKI Motohiro
2008-04-23 1:53 ` [patch 02/18] hugetlb: factor out huge_new_page npiggin
2008-04-24 23:49 ` Nishanth Aravamudan
2008-04-24 23:54 ` Nishanth Aravamudan
2008-04-24 23:58 ` Nishanth Aravamudan
2008-04-25 7:10 ` Andi Kleen
2008-04-25 16:54 ` Nishanth Aravamudan
2008-04-25 19:13 ` Christoph Lameter
2008-04-25 19:29 ` Nishanth Aravamudan
2008-04-30 19:16 ` Christoph Lameter
2008-04-30 20:44 ` Nishanth Aravamudan
2008-05-01 19:23 ` Christoph Lameter
2008-05-01 20:25 ` Nishanth Aravamudan
2008-05-01 20:34 ` Christoph Lameter
2008-05-01 21:01 ` Nishanth Aravamudan
2008-05-23 5:03 ` Nick Piggin
2008-04-23 1:53 ` [patch 03/18] mm: offset align in alloc_bootmem npiggin, Yinghai Lu
2008-04-23 1:53 ` [patch 04/18] hugetlb: modular state npiggin
2008-04-23 15:21 ` Jon Tollefson
2008-04-23 15:38 ` Nick Piggin
2008-04-25 17:13 ` Nishanth Aravamudan
2008-05-23 5:02 ` Nick Piggin
2008-05-23 20:48 ` Nishanth Aravamudan
2008-04-23 1:53 ` [patch 05/18] hugetlb: multiple hstates npiggin
2008-04-25 17:38 ` Nishanth Aravamudan
2008-04-25 17:48 ` Nishanth Aravamudan
2008-04-25 17:55 ` Andi Kleen
2008-04-25 17:52 ` Nishanth Aravamudan
2008-04-25 18:10 ` Andi Kleen
2008-04-28 10:13 ` Andy Whitcroft
2008-05-23 5:18 ` Nick Piggin
2008-04-29 17:27 ` Nishanth Aravamudan
2008-05-23 5:19 ` Nick Piggin
2008-04-23 1:53 ` [patch 06/18] hugetlb: multi hstate proc files npiggin
2008-05-02 19:53 ` Nishanth Aravamudan
2008-05-23 5:22 ` Nick Piggin
2008-05-23 20:30 ` Nishanth Aravamudan
2008-04-23 1:53 ` [patch 07/18] hugetlbfs: per mount hstates npiggin
2008-04-25 18:09 ` Nishanth Aravamudan
2008-04-25 20:36 ` Nishanth Aravamudan
2008-04-25 22:39 ` Nishanth Aravamudan
2008-04-28 18:20 ` Adam Litke
2008-04-28 18:46 ` Nishanth Aravamudan
2008-05-23 5:24 ` Nick Piggin
2008-05-23 20:34 ` Nishanth Aravamudan
2008-05-23 22:49 ` Nick Piggin
2008-05-23 23:24 ` Nishanth Aravamudan
2008-04-23 1:53 ` [patch 08/18] hugetlb: multi hstate sysctls npiggin
2008-04-25 18:14 ` Nishanth Aravamudan
2008-05-23 5:25 ` Nick Piggin
2008-05-23 20:27 ` Nishanth Aravamudan
2008-04-25 23:35 ` Nishanth Aravamudan
2008-05-23 5:28 ` Nick Piggin
2008-05-23 10:40 ` Andi Kleen
2008-04-23 1:53 ` [patch 09/18] hugetlb: abstract numa round robin selection npiggin
2008-04-23 1:53 ` [patch 10/18] mm: introduce non panic alloc_bootmem npiggin
2008-04-23 1:53 ` [patch 11/18] mm: export prep_compound_page to mm npiggin
2008-04-23 16:12 ` Andrew Hastings
2008-05-23 5:29 ` Nick Piggin
2008-04-23 1:53 ` [patch 12/18] hugetlbfs: support larger than MAX_ORDER npiggin
2008-04-23 16:15 ` Andrew Hastings
2008-04-23 16:25 ` Andi Kleen
2008-04-25 18:55 ` Nishanth Aravamudan
2008-05-23 5:29 ` Nick Piggin
2008-04-30 21:01 ` Dave Hansen
2008-05-23 5:30 ` Nick Piggin
2008-04-23 1:53 ` [patch 13/18] hugetlb: support boot allocate different sizes npiggin
2008-04-23 16:15 ` Andrew Hastings
2008-04-25 18:40 ` Nishanth Aravamudan
2008-04-25 18:50 ` Andi Kleen
2008-04-25 20:05 ` Nishanth Aravamudan [this message]
2008-05-23 5:36 ` Nick Piggin
2008-05-23 6:04 ` Nick Piggin
2008-05-23 20:32 ` Nishanth Aravamudan
2008-05-23 22:45 ` Nick Piggin
2008-05-23 22:53 ` Nishanth Aravamudan
2008-04-23 1:53 ` [patch 14/18] hugetlb: printk cleanup npiggin
2008-04-27 3:32 ` Nishanth Aravamudan
2008-05-23 5:37 ` Nick Piggin
2008-04-23 1:53 ` [patch 15/18] hugetlb: introduce huge_pud npiggin
2008-04-23 1:53 ` [patch 16/18] x86: support GB hugepages on 64-bit npiggin
2008-04-23 1:53 ` [patch 17/18] x86: add hugepagesz option " npiggin
2008-04-30 19:34 ` Nishanth Aravamudan
2008-04-30 19:52 ` Andi Kleen
2008-04-30 20:02 ` Nishanth Aravamudan
2008-04-30 20:19 ` Andi Kleen
2008-04-30 20:23 ` Nishanth Aravamudan
2008-04-30 20:45 ` Andi Kleen
2008-04-30 20:51 ` Nishanth Aravamudan
2008-04-30 20:40 ` Jon Tollefson
2008-04-30 20:48 ` Nishanth Aravamudan
2008-05-23 5:41 ` Nick Piggin
2008-05-23 10:43 ` Andi Kleen
2008-05-23 12:34 ` Nick Piggin
2008-05-23 14:29 ` Andi Kleen
2008-05-23 20:43 ` Nishanth Aravamudan
2008-05-23 20:39 ` Nishanth Aravamudan
2008-05-23 22:52 ` Nick Piggin
2008-04-23 1:53 ` [patch 18/18] hugetlb: my fixes 2 npiggin
2008-04-23 10:48 ` Andi Kleen
2008-04-23 15:36 ` Nick Piggin
2008-04-23 18:49 ` Nishanth Aravamudan
2008-04-23 19:37 ` Andi Kleen
2008-04-23 21:11 ` Nishanth Aravamudan
2008-04-23 21:38 ` Nishanth Aravamudan
2008-04-23 22:06 ` Dave Hansen
2008-04-23 15:20 ` Jon Tollefson
2008-04-23 15:44 ` Nick Piggin
2008-04-23 8:05 ` [patch 00/18] multi size, and giant hugetlb page support, 1GB hugetlb for x86 Andi Kleen
2008-04-23 15:34 ` Nick Piggin
2008-04-23 15:46 ` Andi Kleen
2008-04-23 15:53 ` Nick Piggin
2008-04-23 16:02 ` Andi Kleen
2008-04-23 16:02 ` Nick Piggin
2008-04-23 18:54 ` Nishanth Aravamudan
2008-04-23 18:52 ` Nishanth Aravamudan
2008-04-24 2:08 ` Nick Piggin
2008-04-24 6:43 ` Nishanth Aravamudan
2008-04-24 7:06 ` Nick Piggin
2008-04-24 17:08 ` Nishanth Aravamudan
2008-04-23 18:43 ` Nishanth Aravamudan
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=20080425200532.GC14623@us.ibm.com \
--to=nacc@us.ibm.com \
--cc=abh@cray.com \
--cc=akpm@linux-foundation.org \
--cc=andi@firstfloor.org \
--cc=kniht@linux.vnet.ibm.com \
--cc=linux-mm@kvack.org \
--cc=npiggin@suse.de \
--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;
as well as URLs for NNTP newsgroup(s).