Re: [PATCH 1/8] fix bootmem reservation on uninitialized node

2008-12-10 Thread Jon Tollefson
Paul Mackerras wrote: Dave Hansen writes: This patch ensures that we do not touch bootmem for any node which has not been initialized. Signed-off-by: Dave Hansen <[EMAIL PROTECTED]> So, should I be sending this to Linus for 2.6.28? I notice you have added a dbg() call. For a 2.6.28

Re: [PATCH] Fix boot freeze on machine with empty memory node

2008-12-04 Thread Jon Tollefson
Dave Hansen wrote: I got a bug report about a distro kernel not booting on a particular machine. It would freeze during boot: ... Could not find start_pfn for node 1 [boot]0015 Setup Done Built 2 zonelists in Node order, mobility grouping on. Total pages: 123783 Policy zone: DMA Kernel com

[PATCH 1/1 v2] powerpc: hugetlb pgtable cache access cleanup

2008-10-30 Thread Jon Tollefson
It was suggested by Andrew that using a macro that made an array look like a function call made it harder to understand the code. Cleaned up use of macro. We now reference the pgtable_cache array directly instead of using a macro. Signed-off-by: Jon Tollefson <[EMAIL PROTECTED]> Cc

16G related patches for stable kernel 2.6.27

2008-10-29 Thread Jon Tollefson
Please consider the following patches for the 2.6.27 stable tree. The first two allow a powerpc machine with more then 2 numa nodes to boot when 16G pages are enabled. The third one allows a powerpc machine to boot if using 16G pages and the mem= boot param. thanks, Jon powerpc: Reserve in boo

[PATCH] powerpc: Don't use a 16G page if beyond mem= limits

2008-10-21 Thread Jon Tollefson
If mem= is used on the boot command line to limit memory then the memory block where a 16G page resides may not be available. Thanks to Michael Ellerman for finding the problem. Signed-off-by: Jon Tollefson <[EMAIL PROTECTED]> --- arch/powerpc/mm/hash_utils_64.c |6 -- 1 file c

Re: [PATCH v3] powerpc: properly reserve in bootmem the lmb reserved regions that cross NUMA nodes

2008-10-16 Thread Jon Tollefson
Benjamin Herrenschmidt wrote: On Thu, 2008-10-09 at 15:18 -0500, Jon Tollefson wrote: If there are multiple reserved memory blocks via lmb_reserve() that are contiguous addresses and on different NUMA nodes we are losing track of which address ranges to reserve in bootmem on which node. I

[PATCH v3] powerpc: properly reserve in bootmem the lmb reserved regions that cross NUMA nodes

2008-10-09 Thread Jon Tollefson
s the size and gets the next active region containing it. Signed-off-by: Jon Tollefson <[EMAIL PROTECTED]> --- Changes: v2: -style changes as suggested by Adam Litke v3: -moved helper function to powerpc code since it is the only user at present -m

[PATCH v2] properly reserve in bootmem the lmb reserved regions that cross NUMA nodes

2008-10-06 Thread Jon Tollefson
justs the size and gets the next active region containing it. Signed-off-by: Jon Tollefson <[EMAIL PROTECTED]> --- Changes: -style changes as suggested by Adam Litke Please consider for 2.6.28. arch/powerpc/mm/numa.c | 63 - include

Re: [PATCH] properly reserve in bootmem the lmb reserved regions that cross numa nodes

2008-10-06 Thread Jon Tollefson
Kumar Gala wrote: > > On Oct 6, 2008, at 10:42 AM, Jon Tollefson wrote: > >> Kumar Gala wrote: >>> Out of interest how to do you guys represent NUMA regions of memory in >>> the device tree? >>> >>> - k >> Looking at the source code

Re: [PATCH] properly reserve in bootmem the lmb reserved regions that cross numa nodes

2008-10-06 Thread Jon Tollefson
Kumar Gala wrote: > Out of interest how to do you guys represent NUMA regions of memory in > the device tree? > > - k Looking at the source code in numa.c I see at the start of do_init_bootmem() that parse_numa_properties() is called. It appears to be looking at memory nodes and getting the node i

Re: [PATCH] properly reserve in bootmem the lmb reserved regions that cross numa nodes

2008-10-02 Thread Jon Tollefson
Adam Litke wrote: > This seems like the right approach to me. I have pointed out a few > stylistic issues below. > Thanks. I'll make those changes. I assume by __mminit you meant __meminit Jon > On Tue, 2008-09-30 at 09:53 -0500, Jon Tollefson wrote: > > &

[PATCH] properly reserve in bootmem the lmb reserved regions that cross numa nodes

2008-09-30 Thread Jon Tollefson
justs the size and gets the next active region containing it. Signed-off-by: Jon Tollefson <[EMAIL PROTECTED]> --- arch/powerpc/mm/numa.c | 63 - include/linux/mm.h |2 + mm/page_alloc.c| 19 ++ 3 files

Re: [Libhugetlbfs-devel] Buglet in 16G page handling

2008-09-04 Thread Jon Tollefson
Jon Tollefson wrote: > David Gibson wrote: > >> On Tue, Sep 02, 2008 at 12:12:27PM -0500, Jon Tollefson wrote: >> >> >>> David Gibson wrote: >>> >>> >>>> When BenH and I were looking at the new code for handli

Re: [Libhugetlbfs-devel] Buglet in 16G page handling

2008-09-03 Thread Jon Tollefson
David Gibson wrote: > On Tue, Sep 02, 2008 at 12:12:27PM -0500, Jon Tollefson wrote: > >> David Gibson wrote: >> >>> When BenH and I were looking at the new code for handling 16G pages, >>> we noticed a small bug. It doesn't actually break anything

Re: [Libhugetlbfs-devel] Buglet in 16G page handling

2008-09-03 Thread Jon Tollefson
Benjamin Herrenschmidt wrote: > On Tue, 2008-09-02 at 17:16 -0500, Jon Tollefson wrote: > >> Benjamin Herrenschmidt wrote: >> >>>> Actually, Jon has been hitting an occasional pagetable lock related >>>> problem. The last theory was that it might

Re: [Libhugetlbfs-devel] Buglet in 16G page handling

2008-09-02 Thread Jon Tollefson
Benjamin Herrenschmidt wrote: >> Actually, Jon has been hitting an occasional pagetable lock related >> problem. The last theory was that it might be some sort of race but it's >> vaguely possible that this is the issue. Jon? >> > > All hugetlbfs ops should be covered by the big PTL except wal

Re: Buglet in 16G page handling

2008-09-02 Thread Jon Tollefson
David Gibson wrote: > When BenH and I were looking at the new code for handling 16G pages, > we noticed a small bug. It doesn't actually break anything user > visible, but it's certainly not the way things are supposed to be. > The 16G patches didn't update the huge_pte_offset() and > huge_pte_all

Re: [PATCH] powerpc: Fix compile error with binutils 2.15

2008-07-24 Thread Jon Tollefson
Segher Boessenkool wrote: My previous patch to fix compilation with binutils-2.17 causes a "file truncated" build error from ld with binutils 2.15 (and possibly older), and a warning with 2.16 and 2.17. This fixes it. Signed-off-by: Segher Boessenkool <[EMAIL PROTECTED]> --- arch/powerpc/kerne

link failure: file truncated

2008-07-24 Thread Jon Tollefson
Just tried to build the latest version from Linus' tree and I am getting a link error. building with the pseries_defconfig ... LD drivers/built-in.o LD vmlinux.o MODPOST vmlinux.o WARNING: modpost: Found 6 section mismatch(es). To see full details build your kernel with: 'make CONF

Re: gigantci pages patches

2008-07-22 Thread Jon Tollefson
David Gibson wrote: > On Fri, Jul 11, 2008 at 05:45:15PM +1000, Stephen Rothwell wrote: > >> Hi all, >> >> Could people take one last look at these patches and if there are no >> issues, please send Ack-bys to Andrew who will push them to Linus for >> 2.6.27. >> >> [PATCH 1/6 v2] allow arch spec

Re: [PATCH 6/6] powerpc: support multiple huge page sizes

2008-06-24 Thread Jon Tollefson
Nick Piggin wrote: > On Tue, May 13, 2008 at 12:25:27PM -0500, Jon Tollefson wrote: > >> Instead of using the variable mmu_huge_psize to keep track of the huge >> page size we use an array of MMU_PAGE_* values. For each supported >> huge page size we need to know the

[PATCH 6/6] powerpc: support multiple huge page sizes

2008-05-13 Thread Jon Tollefson
igned-off-by: Jon Tollefson <[EMAIL PROTECTED]> --- arch/powerpc/mm/hash_utils_64.c |9 - arch/powerpc/mm/hugetlbpage.c| 267 +-- arch/powerpc/mm/init_64.c|8 - arch/powerpc/mm/tlb_64.c |2 include/asm-powerpc/mmu-hash

[PATCH 5/6 v2] check for overflow

2008-05-13 Thread Jon Tollefson
didn't seem to generate an EOVERFLOW in my test case. Signed-off-by: Jon Tollefson <[EMAIL PROTECTED]> --- fs/compat.c |4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/fs/compat.c b/fs/compat.c index 2ce4456..6eb6aad 100644 --- a/fs/compat.c +++ b/fs/compat.

[PATCH 4/6 v2] powerpc: define page support for 16G pages

2008-05-13 Thread Jon Tollefson
that it is not shifted to 0. Otherwise it would create an infinite loop when the shift value is for a 16G page (when base page size is 64K). Signed-off-by: Jon Tollefson <[EMAIL PROTECTED]> --- arch/powerpc/mm/hugetlbpage.c | 62 ++ include/asm-p

[PATCH 3/6 v2] powerpc: scan device tree and save gigantic page locations

2008-05-13 Thread Jon Tollefson
The 16G huge pages have to be reserved in the HMC prior to boot. The location of the pages are placed in the device tree. This patch adds code to scan the device tree during very early boot and save these page locations until hugetlbfs is ready for them. Signed-off-by: Jon Tollefson <[EM

[PATCH 2/6 v2] powerpc: function for allocating gigantic pages

2008-05-13 Thread Jon Tollefson
The 16G page locations have been saved during early boot in an array. The alloc_bm_huge_page() function adds a page from here to the huge_boot_pages list. Signed-off-by: Jon Tollefson <[EMAIL PROTECTED]> --- arch/powerpc/mm/hugetlbpage.c | 22 ++ 1 file chang

[PATCH 1/6 v2] allow arch specific function for allocating gigantic pages

2008-05-13 Thread Jon Tollefson
. A BUG_ON in huge_add_hstate is commented out in order to allow 64K huge pages to continue to work on power. Signed-off-by: Jon Tollefson <[EMAIL PROTECTED]> --- include/linux/hugetlb.h | 10 ++ mm/hugetlb.c| 15 ++- 2 files changed, 16 insertions(+),

[PATCH 0/6] 16G and multi size hugetlb page support on powerpc

2008-05-13 Thread Jon Tollefson
This patch set builds on Nick Piggin's patches for multi size and giant hugetlb page support of April 22. The following set of patches adds support for 16G huge pages on ppc64 and support for multiple huge page sizes at the same time on ppc64. Thus allowing 64K, 16M, and 16G huge pages given

[PATCH 4/4] powerpc: define page support for 16G pages

2008-03-26 Thread Jon Tollefson
The huge page size is setup for 16G pages if that size is specified at boot-time. The support for multiple huge page sizes is not being utilized yet. That will be in a future patch. Signed-off-by: Jon Tollefson <[EMAIL PROTECTED]> --- hugetlbpage.c | 12 ++-- 1 file chang

[PATCH 3/4] powerpc: scan device tree and save gigantic page locations

2008-03-26 Thread Jon Tollefson
The 16G huge pages have to be reserved in the HMC prior to boot. The location of the pages are placed in the device tree. During very early boot these locations are saved for use by hugetlbfs. Signed-off-by: Jon Tollefson <[EMAIL PROTECTED]> --- arch/powerpc/mm/hash_utils_64.c

[PATCH 2/4] powerpc: function for allocating gigantic pages

2008-03-26 Thread Jon Tollefson
The 16G page locations have been saved during early boot in an array. The alloc_bm_huge_page() function adds a page from here to the huge_boot_pages list. Signed-off-by: Jon Tollefson <[EMAIL PROTECTED]> --- hugetlbpage.c | 19 +++ 1 file changed, 19 insertions(+)

[PATCH 1/4] allow arch specific function for allocating gigantic pages

2008-03-26 Thread Jon Tollefson
Allow alloc_bm_huge_page() to be overridden by architectures that can't always use bootmem. This requires huge_boot_pages to be available for use by this function. Also huge_page_size() and other functions need to use a long so that they can handle the 16G page size. Signed-off-by

[PATCH 0/4] 16G huge page support for powerpc

2008-03-26 Thread Jon Tollefson
This patch set builds on Andi Kleen's patches for GB pages for hugetlb posted on March 16th. This set adds support for 16G huge pages on ppc64. Supporting multiple huge page sizes on ppc64 as defined in Andi's patches is not a part of this set; that will be included in a future patch. The first

Re: [PATCh v3] powerpc: add hugepagesz boot-time parameter

2008-01-04 Thread Jon Tollefson
Arnd Bergmann wrote: > We started discussing this in v1, but the discussion got sidetracked: > Is there a technical reason why you don't also allow 1M pages, which > may be useful in certain scenarios? > No, it was mostly a matter of the time I have had and machines easily available to me for te

[PATCh v3] powerpc: add hugepagesz boot-time parameter

2008-01-03 Thread Jon Tollefson
nothing or an invalid choice is specified. Tested 64K huge pages successfully with the libhugetlbfs 1.2. Changes from v2: Moved functions from header file into hugetlbpage.c where they are used. Signed-off-by: Jon Tollefson <[EMAIL PROTECTED]> --- diff --git a/Documentation/

[PATCH v2] powerpc: add hugepagesz boot-time parameter

2007-12-19 Thread Jon Tollefson
t and pmd_alloc to inline calls to simplify the main code removed printing of the huge page size in mm/hugetlb.c since this information is already available in /proc/meminfo and leaves the remaining changes all powerpc specific Signed-off-by: Jon Tollefson <[EMAIL PROTECTED]> --- d

Re: [PATCH 2/2] powerpc: make 64K huge pages more reliable

2007-12-03 Thread Jon Tollefson
David Gibson wrote: > On Tue, Nov 27, 2007 at 11:03:16PM -0600, Jon Tollefson wrote: > >> This patch adds reliability to the 64K huge page option by making use of >> the PMD for 64K huge pages when base pages are 4k. So instead of a 12 >> bit pte it would be 7 bit

[PATCH 2/2] powerpc: make 64K huge pages more reliable

2007-11-27 Thread Jon Tollefson
to fit in one base page. This patch would have to be applied after part 1. Signed-off-by: Jon Tollefson <[EMAIL PROTECTED]> --- hugetlbpage.c | 53 ++--- 1 files changed, 38 insertions(+), 15 deletions(-) diff --git a/arch/powe

[PATCH 1/2] powerpc: add hugepagesz boot-time parameter

2007-11-27 Thread Jon Tollefson
release with its 'make func' and 'make stress' test invocations. This patch requires the patch posted by Mel Gorman that adds HUGETLB_PAGE_SIZE_VARIABLE; "[PATCH] Fix boot problem with iSeries lacking hugepage support" on 2007-11-15. Signed-off-by: J

Re: [PATCH] Use 1TB segments

2007-08-06 Thread Jon Tollefson
Paul Mackerras wrote: > diff --git a/arch/powerpc/mm/slb.c b/arch/powerpc/mm/slb.c > A couple of hunks fail in this file when applying to the current tree. ... > diff --git a/include/asm-powerpc/mmu-hash64.h > b/include/asm-powerpc/mmu-hash64.h > index 695962f..053f86b 100644 > --- a/include/a