* [PATCH] ppc64: 64K pages support [not found] <1130915220.20136.14.camel@gaston> @ 2005-11-02 7:23 ` Benjamin Herrenschmidt 2005-11-03 3:16 ` Paul Mackerras ` (2 more replies) 0 siblings, 3 replies; 20+ messages in thread From: Benjamin Herrenschmidt @ 2005-11-02 7:23 UTC (permalink / raw) To: Andrew Morton; +Cc: Linux Kernel list, linuxppc64-dev, Linus Torvalds On Wed, 2005-11-02 at 18:07 +1100, Benjamin Herrenschmidt wrote: > It took a while, but finally, here is the 64K pages support patch for > ppc64. This patch adds a new CONFIG_PPC_64K_PAGES which, when enabled, > changes the kernel base page size to 64K. The resulting kernel still > boots on any hardware. On current machines with 4K pages support only, > the kernel will maintain 16 "subpages" for each 64K page > transparently. > > Note that while real 64K capable HW has been tested, the current patch > will not enable it yet as such hardware is not released yet, and I'm > still verifying with the firmware architects the proper to get the > information from the newer hypervisors. > > Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Oh, and since the mailing lists are probably filtering this out due to the patch size, here's an URL where you can find it too: http://gate.crashing.org/~benh/ppc64-64k-pages.diff Ben. ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH] ppc64: 64K pages support 2005-11-02 7:23 ` [PATCH] ppc64: 64K pages support Benjamin Herrenschmidt @ 2005-11-03 3:16 ` Paul Mackerras 2005-11-03 5:26 ` ppc64: Fix bug in SLB miss handler for hugepages David Gibson 2005-11-05 0:38 ` [PATCH] ppc64: 64K pages support Christoph Hellwig 2005-11-09 17:21 ` Christoph Hellwig 2 siblings, 1 reply; 20+ messages in thread From: Paul Mackerras @ 2005-11-03 3:16 UTC (permalink / raw) To: Benjamin Herrenschmidt Cc: Andrew Morton, linuxppc64-dev, Linus Torvalds, Linux Kernel list Benjamin Herrenschmidt writes: > It took a while, but finally, here is the 64K pages support patch for > ppc64. This patch adds a new CONFIG_PPC_64K_PAGES which, when enabled, > changes the kernel base page size to 64K. The resulting kernel still > boots on any hardware. On current machines with 4K pages support only, > the kernel will maintain 16 "subpages" for each 64K page > transparently. > > Note that while real 64K capable HW has been tested, the current patch > will not enable it yet as such hardware is not released yet, and I'm > still verifying with the firmware architects the proper to get the > information from the newer hypervisors. > > Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Acked-by: Paul Mackerras <paulus@samba.org> ^ permalink raw reply [flat|nested] 20+ messages in thread
* ppc64: Fix bug in SLB miss handler for hugepages 2005-11-03 3:16 ` Paul Mackerras @ 2005-11-03 5:26 ` David Gibson 0 siblings, 0 replies; 20+ messages in thread From: David Gibson @ 2005-11-03 5:26 UTC (permalink / raw) To: Paul Mackerras Cc: Benjamin Herrenschmidt, Andrew Morton, linuxppc64-dev, Linus Torvalds, Linux Kernel list On Thu, Nov 03, 2005 at 02:16:29PM +1100, Paul Mackerras wrote: > Benjamin Herrenschmidt writes: > > > It took a while, but finally, here is the 64K pages support patch for > > ppc64. This patch adds a new CONFIG_PPC_64K_PAGES which, when enabled, > > changes the kernel base page size to 64K. The resulting kernel still > > boots on any hardware. On current machines with 4K pages support only, > > the kernel will maintain 16 "subpages" for each 64K page > > transparently. > > > > Note that while real 64K capable HW has been tested, the current patch > > will not enable it yet as such hardware is not released yet, and I'm > > still verifying with the firmware architects the proper to get the > > information from the newer hypervisors. > > > > Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> > > Acked-by: Paul Mackerras <paulus@samba.org> This patch, however, should be applied on top to fix some problems with hugepage (some pre-existing, another introduced by this patch). The patch fixes a bug in the SLB miss handler for hugepages on ppc64 introduced by the dynamic hugepage patch (commit id c594adad5653491813959277fb87a2fef54c4e05) due to a misunderstanding of the srd instruction's behaviour (mea culpa). The problem arises when a 64-bit process maps some hugepages in the low 4GB of the address space (unusual). In this case, as well as the 256M segment in question being marked for hugepages, other segments at 32G intervals will be incorrectly marked for hugepages. In the process, this patch tweaks the semantics of the hugepage bitmaps to be more sensible. Previously, an address below 4G was marked for hugepages if the appropriate segment bit in the "low areas" bitmask was set *or* if the low bit in the "high areas" bitmap was set (which would mark all addresses below 1TB for hugepage). With this patch, any given address is governed by a single bitmap. Addresses below 4GB are marked for hugepage if and only if their bit is set in the "low areas" bitmap (256M granularity). Addresses between 4GB and 1TB are marked for hugepage iff the low bit in the "high areas" bitmap is set. Higher addresses are marked for hugepage iff their bit in the "high areas" bitmap is set (1TB granularity). To avoid conflicts, this patch must be applied on top of BenH's pending patch for 64k base page size [0]. As such, this patch also addresses a hugepage problem introduced by that patch. That patch allows hugepages of 1MB in size on hardware which supports it, however, that won't work when using 4k pages (4 level pagetable), because in that case hugepage PTEs are stored at the PMD level, and each PMD entry maps 2MB. This patch simply disallows hugepages in that case (we can do something cleverer to re-enable them some other day). Built, booted, and a handful of hugepage related tests passed on POWER5 LPAR (both ARCH=powerpc and ARCH=ppc64). [0] http://gate.crashing.org/~benh/ppc64-64k-pages.diff Signed-off-by: David Gibson <david@gibson.dropbear.id.au> Index: working-2.6/arch/powerpc/mm/slb_low.S =================================================================== --- working-2.6.orig/arch/powerpc/mm/slb_low.S 2005-11-03 14:52:16.000000000 +1100 +++ working-2.6/arch/powerpc/mm/slb_low.S 2005-11-03 14:55:56.000000000 +1100 @@ -80,12 +80,17 @@ BEGIN_FTR_SECTION b 1f END_FTR_SECTION_IFCLR(CPU_FTR_16M_PAGE) + cmpldi r10,16 + + lhz r9,PACALOWHTLBAREAS(r13) + mr r11,r10 + blt 5f + lhz r9,PACAHIGHHTLBAREAS(r13) srdi r11,r10,(HTLB_AREA_SHIFT-SID_SHIFT) - srd r9,r9,r11 - lhz r11,PACALOWHTLBAREAS(r13) - srd r11,r11,r10 - or. r9,r9,r11 + +5: srd r9,r9,r11 + andi. r9,r9,1 beq 1f _GLOBAL(slb_miss_user_load_huge) li r11,0 Index: working-2.6/arch/powerpc/mm/hash_utils_64.c =================================================================== --- working-2.6.orig/arch/powerpc/mm/hash_utils_64.c 2005-11-03 14:52:16.000000000 +1100 +++ working-2.6/arch/powerpc/mm/hash_utils_64.c 2005-11-03 15:40:56.000000000 +1100 @@ -329,12 +329,14 @@ */ if (mmu_psize_defs[MMU_PAGE_16M].shift) mmu_huge_psize = MMU_PAGE_16M; + /* With 4k/4level pagetables, we can't (for now) cope with a + * huge page size < PMD_SIZE */ else if (mmu_psize_defs[MMU_PAGE_1M].shift) mmu_huge_psize = MMU_PAGE_1M; /* Calculate HPAGE_SHIFT and sanity check it */ - if (mmu_psize_defs[mmu_huge_psize].shift > 16 && - mmu_psize_defs[mmu_huge_psize].shift < 28) + if (mmu_psize_defs[mmu_huge_psize].shift > MIN_HUGEPTE_SHIFT && + mmu_psize_defs[mmu_huge_psize].shift < SID_SHIFT) HPAGE_SHIFT = mmu_psize_defs[mmu_huge_psize].shift; else HPAGE_SHIFT = 0; /* No huge pages dude ! */ Index: working-2.6/include/asm-ppc64/pgtable-4k.h =================================================================== --- working-2.6.orig/include/asm-ppc64/pgtable-4k.h 2005-11-03 14:52:16.000000000 +1100 +++ working-2.6/include/asm-ppc64/pgtable-4k.h 2005-11-03 15:38:40.000000000 +1100 @@ -23,6 +23,9 @@ #define PMD_SIZE (1UL << PMD_SHIFT) #define PMD_MASK (~(PMD_SIZE-1)) +/* With 4k base page size, hugepage PTEs go at the PMD level */ +#define MIN_HUGEPTE_SHIFT PMD_SHIFT + /* PUD_SHIFT determines what a third-level page table entry can map */ #define PUD_SHIFT (PMD_SHIFT + PMD_INDEX_SIZE) #define PUD_SIZE (1UL << PUD_SHIFT) Index: working-2.6/include/asm-ppc64/pgtable-64k.h =================================================================== --- working-2.6.orig/include/asm-ppc64/pgtable-64k.h 2005-11-03 14:52:16.000000000 +1100 +++ working-2.6/include/asm-ppc64/pgtable-64k.h 2005-11-03 15:39:07.000000000 +1100 @@ -14,6 +14,9 @@ #define PTRS_PER_PMD (1 << PMD_INDEX_SIZE) #define PTRS_PER_PGD (1 << PGD_INDEX_SIZE) +/* With 4k base page size, hugepage PTEs go at the PMD level */ +#define MIN_HUGEPTE_SHIFT PAGE_SHIFT + /* PMD_SHIFT determines what a second-level page table entry can map */ #define PMD_SHIFT (PAGE_SHIFT + PTE_INDEX_SIZE) #define PMD_SIZE (1UL << PMD_SHIFT) Index: working-2.6/arch/powerpc/mm/hugetlbpage.c =================================================================== --- working-2.6.orig/arch/powerpc/mm/hugetlbpage.c 2005-11-03 14:52:16.000000000 +1100 +++ working-2.6/arch/powerpc/mm/hugetlbpage.c 2005-11-03 15:56:34.000000000 +1100 @@ -212,6 +212,12 @@ BUG_ON(area >= NUM_HIGH_AREAS); + /* Hack, so that each addresses is controlled by exactly one + * of the high or low area bitmaps, the first high area starts + * at 4GB, not 0 */ + if (start == 0) + start = 0x100000000UL; + /* Check no VMAs are in the region */ vma = find_vma(mm, start); if (vma && (vma->vm_start < end)) -- David Gibson | I'll have my music baroque, and my code david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_ | _way_ _around_! http://www.ozlabs.org/people/dgibson ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH] ppc64: 64K pages support 2005-11-02 7:23 ` [PATCH] ppc64: 64K pages support Benjamin Herrenschmidt 2005-11-03 3:16 ` Paul Mackerras @ 2005-11-05 0:38 ` Christoph Hellwig 2005-11-05 0:44 ` Benjamin Herrenschmidt 2005-11-09 17:21 ` Christoph Hellwig 2 siblings, 1 reply; 20+ messages in thread From: Christoph Hellwig @ 2005-11-05 0:38 UTC (permalink / raw) To: Benjamin Herrenschmidt Cc: Andrew Morton, linuxppc64-dev, Linus Torvalds, Linux Kernel list, linux-mm So how does the 64k on 4k hardware emulation work? When Hugh did bigger softpagesize for x86 based on 2.4.x he had to fix drivers all over to deal with that. ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH] ppc64: 64K pages support 2005-11-05 0:38 ` [PATCH] ppc64: 64K pages support Christoph Hellwig @ 2005-11-05 0:44 ` Benjamin Herrenschmidt 2005-11-05 6:37 ` Dave Airlie 0 siblings, 1 reply; 20+ messages in thread From: Benjamin Herrenschmidt @ 2005-11-05 0:44 UTC (permalink / raw) To: Christoph Hellwig Cc: Andrew Morton, linuxppc64-dev, Linus Torvalds, Linux Kernel list, linux-mm On Sat, 2005-11-05 at 01:38 +0100, Christoph Hellwig wrote: > So how does the 64k on 4k hardware emulation work? When Hugh did > bigger softpagesize for x86 based on 2.4.x he had to fix drivers all > over to deal with that. What was the problem with drivers ? On ppc64, it's all hidden in the arch code. All the kernel sees is a 64k page size. I extended the PTE to contain tracking informations for the 16 sub pages (HPTE bits & hash slot index). Sub pages are faulted on demand and flushed all at once, but it's all transparent to the generic code. Ben. ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH] ppc64: 64K pages support 2005-11-05 0:44 ` Benjamin Herrenschmidt @ 2005-11-05 6:37 ` Dave Airlie 0 siblings, 0 replies; 20+ messages in thread From: Dave Airlie @ 2005-11-05 6:37 UTC (permalink / raw) To: Benjamin Herrenschmidt Cc: Christoph Hellwig, Andrew Morton, linuxppc64-dev, Linus Torvalds, Linux Kernel list, linux-mm > What was the problem with drivers ? On ppc64, it's all hidden in the > arch code. All the kernel sees is a 64k page size. I extended the PTE to > contain tracking informations for the 16 sub pages (HPTE bits & hash > slot index). Sub pages are faulted on demand and flushed all at once, > but it's all transparent to the generic code. > We did that with the VAX port about 5 years ago :-), granted for different reasons.. The VAX has 512 byte hw pages, we had to make a 4K pagesize for the kernel by grouping 8 hw pages together and hiding it all in the arch dir.. granted I don't know if it broke any drivers, we didn't have any... Dave. ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH] ppc64: 64K pages support 2005-11-02 7:23 ` [PATCH] ppc64: 64K pages support Benjamin Herrenschmidt 2005-11-03 3:16 ` Paul Mackerras 2005-11-05 0:38 ` [PATCH] ppc64: 64K pages support Christoph Hellwig @ 2005-11-09 17:21 ` Christoph Hellwig 2005-11-09 20:17 ` Mike Kravetz ` (3 more replies) 2 siblings, 4 replies; 20+ messages in thread From: Christoph Hellwig @ 2005-11-09 17:21 UTC (permalink / raw) To: Benjamin Herrenschmidt Cc: Andrew Morton, linuxppc64-dev, Linus Torvalds, Linux Kernel list Booting current mainline with 64K pagesize enabled gives me a purple (!) screen early during boot. ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH] ppc64: 64K pages support 2005-11-09 17:21 ` Christoph Hellwig @ 2005-11-09 20:17 ` Mike Kravetz 2005-11-09 20:32 ` Benjamin Herrenschmidt 2005-11-09 20:36 ` Benjamin Herrenschmidt ` (2 subsequent siblings) 3 siblings, 1 reply; 20+ messages in thread From: Mike Kravetz @ 2005-11-09 20:17 UTC (permalink / raw) To: Benjamin Herrenschmidt Cc: Christoph Hellwig, Andrew Morton, linuxppc64-dev, Linus Torvalds, Linux Kernel list On Wed, Nov 09, 2005 at 06:21:25PM +0100, Christoph Hellwig wrote: > Booting current mainline with 64K pagesize enabled gives me a purple (!) > screen early during boot. I seem to also be having problems with this patch. My OpenPOWER 720 stopped booting with 2.6.14-git10(and later). Just using defconfig. 64k page size NOT enabled. If I back out the 64k page size patch, 2.6.14-git10 boots. I'm trying to get more info but it is painful. It dies before xmon is initialized. I could have sworn that I booted 2.6.14-git7 with the 64k page size patch applied. But, I can't do that now either. Some co-workers have successfully booted other POWER systems with these kernels. So, it must be specific to my hardware/LPAR configuration. -- Mike ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH] ppc64: 64K pages support 2005-11-09 20:17 ` Mike Kravetz @ 2005-11-09 20:32 ` Benjamin Herrenschmidt 2005-11-09 21:59 ` Badari Pulavarty 0 siblings, 1 reply; 20+ messages in thread From: Benjamin Herrenschmidt @ 2005-11-09 20:32 UTC (permalink / raw) To: Mike Kravetz Cc: Christoph Hellwig, Andrew Morton, linuxppc64-dev, Linus Torvalds, Linux Kernel list On Wed, 2005-11-09 at 12:17 -0800, Mike Kravetz wrote: > On Wed, Nov 09, 2005 at 06:21:25PM +0100, Christoph Hellwig wrote: > > Booting current mainline with 64K pagesize enabled gives me a purple (!) > > screen early during boot. > > I seem to also be having problems with this patch. My OpenPOWER 720 > stopped booting with 2.6.14-git10(and later). Just using defconfig. > 64k page size NOT enabled. If I back out the 64k page size patch, > 2.6.14-git10 boots. I'm trying to get more info but it is painful. > It dies before xmon is initialized. There have been a couple of fixes, try the very latest git. Also, try enabling early debug in arch/ppc64/kernel/setup.c > I could have sworn that I booted 2.6.14-git7 with the 64k page size > patch applied. But, I can't do that now either. > > Some co-workers have successfully booted other POWER systems with these > kernels. So, it must be specific to my hardware/LPAR configuration. Ok, i'll do more tests here too. Ben. ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH] ppc64: 64K pages support 2005-11-09 20:32 ` Benjamin Herrenschmidt @ 2005-11-09 21:59 ` Badari Pulavarty 2005-11-09 22:01 ` Benjamin Herrenschmidt 0 siblings, 1 reply; 20+ messages in thread From: Badari Pulavarty @ 2005-11-09 21:59 UTC (permalink / raw) To: Benjamin Herrenschmidt Cc: Mike Kravetz, Christoph Hellwig, Andrew Morton, linuxppc64-dev, Linus Torvalds, Linux Kernel list [-- Attachment #1: Type: text/plain, Size: 1220 bytes --] On Thu, 2005-11-10 at 07:32 +1100, Benjamin Herrenschmidt wrote: > On Wed, 2005-11-09 at 12:17 -0800, Mike Kravetz wrote: > > On Wed, Nov 09, 2005 at 06:21:25PM +0100, Christoph Hellwig wrote: > > > Booting current mainline with 64K pagesize enabled gives me a purple (!) > > > screen early during boot. > > > > I seem to also be having problems with this patch. My OpenPOWER 720 > > stopped booting with 2.6.14-git10(and later). Just using defconfig. > > 64k page size NOT enabled. If I back out the 64k page size patch, > > 2.6.14-git10 boots. I'm trying to get more info but it is painful. > > It dies before xmon is initialized. > > There have been a couple of fixes, try the very latest git. Also, try > enabling early debug in arch/ppc64/kernel/setup.c > > > I could have sworn that I booted 2.6.14-git7 with the 64k page size > > patch applied. But, I can't do that now either. > > > > Some co-workers have successfully booted other POWER systems with these > > kernels. So, it must be specific to my hardware/LPAR configuration. > > Ok, i'll do more tests here too. I didn't have any luck on 2.6.14-git12 either. I tried 64k page support on my P570. Here are the console messages: Thanks, Badari [-- Attachment #2: 64kpage.out --] [-- Type: text/plain, Size: 10119 bytes --] boot: 2614git12 Please wait, loading kernel... Elf32 kernel loaded... zImage starting: loaded at 0x00401a04 (sp: 0x019ffbe0) Allocating 0x845378 bytes for kernel ... gunzipping (0x1c00000 <- 0x407a04:0x63e99d)...done 0x6963d8 bytes OF stdout device is: /vdevice/vty@30000000 Hypertas detected, assuming LPAR ! command line: root=/dev/sda3 selinux=0 elevator=cfq memory layout at init: memory_limit : 0000000000000000 (16 MB aligned) alloc_bottom : 0000000002460000 alloc_top : 0000000008000000 alloc_top_hi : 00000000ed000000 rmo_top : 0000000008000000 ram_top : 00000000ed000000 Looking for displays instantiating rtas at 0x00000000077c0000 ... done 0000000000000000 : boot cpu 0000000000000000 0000000000000002 : starting cpu hw idx 0000000000000002... done copying OF device tree ... Building dt strings... Building dt structure... Device tree strings 0x0000000002470000 -> 0x00000000024711de Device tree struct 0x0000000002480000 -> 0x00000000024a0000 Calling quiesce ... returning from prom_init Page orders: linear mapping = 24, others = 12 Bogus initrd 00000000 00000000 firmware_features = 0x1ffd5f Partition configured for 4 cpus. Starting Linux PPC64 #1 SMP Wed Nov 9 10:51:26 PST 2005 ----------------------------------------------------- ppc64_pft_size = 0x1a ppc64_interrupt_controller = 0x2 systemcfg = 0xc000000000618a00 systemcfg->platform = 0x101 systemcfg->processorCount = 0x4 systemcfg->physicalMemorySize = 0xed000000 ppc64_caches.dcache_line_size = 0x80 ppc64_caches.icache_line_size = 0x80 htab_address = 0x0000000000000000 htab_hash_mask = 0x7ffff ----------------------------------------------------- [boot]0100 MM Init [boot]0100 MM Init Done Linux version 2.6.14-git12 (root@elm3b157) (gcc version 3.3.3 (SuSE Linux)) #1 SMP Wed Nov 9 10:51:26 PST 2005 [boot]0012 Setup Arch Node 0 Memory: 0x0-0xed000000 Syscall map setup, 240 32-bit and 219 64-bit syscalls No ramdisk, default root is /dev/sda2 EEH: PCI Enhanced I/O Error Handling Enabled PPC64 nvram contains 7168 bytes Using dedicated idle loop [boot]0015 Setup Done Built 1 zonelists Kernel command line: root=/dev/sda3 selinux=0 elevator=cfq [boot]0020 XICS Init xics: no ISA interrupt controller [boot]0021 XICS Done PID hash table entries: 4096 (order: 12, 131072 bytes) time_init: decrementer frequency = 206.999000 MHz time_init: processor frequency = 1655.992000 MHz Page orders: linear mapping = 24, others = 12 Bogus initrd 00000000 00000000 firmware_features = 0x1ffd5f Partition configured for 4 cpus. Starting Linux PPC64 #1 SMP Wed Nov 9 10:51:26 PST 2005 ----------------------------------------------------- ppc64_pft_size = 0x1a ppc64_interrupt_controller = 0x2 systemcfg = 0xc000000000618a00 systemcfg->platform = 0x101 systemcfg->processorCount = 0x4 systemcfg->physicalMemorySize = 0xed000000 ppc64_caches.dcache_line_size = 0x80 ppc64_caches.icache_line_size = 0x80 htab_address = 0x0000000000000000 htab_hash_mask = 0x7ffff ----------------------------------------------------- [boot]0100 MM Init [boot]0100 MM Init Done Linux version 2.6.14-git12 (root@elm3b157) (gcc version 3.3.3 (SuSE Linux)) #1 SMP Wed Nov 9 10:51:26 PST 2005 [boot]0012 Setup Arch Node 0 Memory: 0x0-0xed000000 Syscall map setup, 240 32-bit and 219 64-bit syscalls No ramdisk, default root is /dev/sda2 EEH: PCI Enhanced I/O Error Handling Enabled PPC64 nvram contains 7168 bytes Using dedicated idle loop [boot]0015 Setup Done Built 1 zonelists Kernel command line: root=/dev/sda3 selinux=0 elevator=cfq [boot]0020 XICS Init xics: no ISA interrupt controller [boot]0021 XICS Done PID hash table entries: 4096 (order: 12, 131072 bytes) time_init: decrementer frequency = 206.999000 MHz time_init: processor frequency = 1655.992000 MHz Console: colour dummy device 80x25 Dentry cache hash table entries: 524288 (order: 6, 4194304 bytes) Inode-cache hash table entries: 262144 (order: 5, 2097152 bytes) freeing bootmem node 0 Memory: 3851648k/3883008k available (4928k kernel code, 31360k reserved, 1728k data, 1748k bss, 320k init) Security Framework v1.0.0 initialized SELinux: Disabled at boot. Mount-cache hash table entries: 4096 softlockup thread 0 started up. Processor 1 found. softlockup thread 1 started up. Processor 2 found. softlockup thread 2 started up. Processor 3 found. Brought up 4 CPUs softlockup thread 3 started up. NET: Registered protocol family 16 PCI: Probing PCI hardware IOMMU table initialized, virtual merging disabled mapping IO 3fe00200000 -> d000080000000000, size: 100000 mapping IO 3fe00700000 -> d000080000100000, size: 100000 PCI: Probing PCI hardware done SCSI subsystem initialized i/pSeries Real Time Clock Driver v1.1 RTAS daemon started audit: initializing netlink socket (disabled) audit(1131572634.103:1): initialized Total HugeTLB memory allocated, 0 VFS: Disk quotas dquot_6.5.1 Dquot-cache hash table entries: 8192 (order 0, 65536 bytes) Initializing Cryptographic API io scheduler noop registered io scheduler anticipatory registered io scheduler deadline registered io scheduler cfq registered (default) pci_hotplug: PCI Hot Plug PCI Core version: 0.5 rpaphp: RPA HOT Plug PCI Controller Driver version: 0.1 rpaphp: Slot [0001:00:02.4](PCI location=U787E.001.AAA1978-P2-C1) registered rpaphp: Slot [0001:00:02.2](PCI location=U787E.001.AAA1978-P2-C2) registered rpaphp: Slot [0001:00:02.6](PCI location=U787E.001.AAA1978-P2-C3) registered HVSI: registered 0 devices Serial: 8250/16550 driver $Revision: 1.90 $ 4 ports, IRQ sharing disabled blk_queue_max_sectors: set to minimum 128 Floppy drive(s): fd0 is 2.88M RAMDISK driver initialized: 16 RAM disks of 123456K size 1024 blocksize loop: loaded (max 8 devices) Intel(R) PRO/1000 Network Driver - version 6.1.16-k2-NAPI Copyright (c) 1999-2005 Intel Corporation. e1000: eth0: e1000_probe: Intel(R) PRO/1000 Network Connection e1000: eth1: e1000_probe: Intel(R) PRO/1000 Network Connection Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2 ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx PDC20275: IDE controller at PCI slot 0000:cc:01.0 PDC20275: chipset revision 1 PDC20275: 100% native mode on irq 134 ide2: BM-DMA at 0xdec00-0xdec07, BIOS settings: hde:pio, hdf:pio ide3: BM-DMA at 0xdec08-0xdec0f, BIOS settings: hdg:pio, hdh:pio hde: IBM DROM00205J1 H0, ATAPI CD/DVD-ROM drive ide2 at 0xde400-0xde407,0xddc02 on irq 134 hde: ATAPI 24X DVD-ROM drive, 256kB Cache Uniform CD-ROM driver Revision: 3.20 ipr: IBM Power RAID SCSI Device Driver version: 2.0.14 (May 2, 2005) ipr 0000:d0:01.0: Found IOA with IRQ: 135 ipr 0000:d0:01.0: Starting IOA initialization sequence. ipr 0000:d0:01.0: Adapter firmware version: 020A005E ipr 0000:d0:01.0: IOA initialized. scsi0 : IBM 570B Storage Adapter Vendor: IBM H0 Model: HUS103014FL3800 Rev: RPQF Type: Direct-Access ANSI SCSI revision: 04 Vendor: IBM H0 Model: HUS103014FL3800 Rev: RPQF Type: Direct-Access ANSI SCSI revision: 04 Vendor: IBM Model: VSBPD4E2 U4SCSI Rev: 7134 Type: Enclosure ANSI SCSI revision: 02 scsi: unknown device type 31 Vendor: IBM Model: 570B001 Rev: 0150 Type: Unknown ANSI SCSI revision: 00 SCSI device sda: 286748000 512-byte hdwr sectors (146815 MB) SCSI device sda: drive cache: write through SCSI device sda: 286748000 512-byte hdwr sectors (146815 MB) SCSI device sda: drive cache: write through sda: sda1 sda2 sda3 sd 0:0:5:0: Attached scsi disk sda SCSI device sdb: 286748000 512-byte hdwr sectors (146815 MB) SCSI device sdb: drive cache: write through SCSI device sdb: 286748000 512-byte hdwr sectors (146815 MB) SCSI device sdb: drive cache: write through sdb: unknown partition table sd 0:0:8:0: Attached scsi disk sdb sd 0:0:5:0: Attached scsi generic sg0 type 0 sd 0:0:8:0: Attached scsi generic sg1 type 0 0:0:15:0: Attached scsi generic sg2 type 13 0:255:255:255: Attached scsi generic sg3 type 31 mice: PS/2 mouse device common for all mice md: md driver 0.90.2 MAX_MD_DEVS=256, MD_SB_DISKS=27 md: bitmap version 3.39 oprofile: using ppc64/power5 performance monitoring. NET: Registered protocol family 2 IP route cache hash table entries: 524288 (order: 6, 4194304 bytes) TCP established hash table entries: 1048576 (order: 8, 16777216 bytes) TCP bind hash table entries: 65536 (order: 4, 1048576 bytes) TCP: Hash tables configured (established 1048576 bind 65536) TCP reno registered TCP bic registered NET: Registered protocol family 1 NET: Registered protocol family 17 NET: Registered protocol family 15 md: Autodetecting RAID arrays. md: autorun ... md: ... autorun DONE. ReiserFS: sda3: found reiserfs format "3.6" with standard journal ReiserFS: sda3: using ordered data mode ReiserFS: sda3: journal params: device sda3, size 8192, journal first block 18, max trans len 1024, max batch 900, max commit age 30, max trans age 30 ReiserFS: sda3: checking transaction log (sda3) ReiserFS: sda3: Using r5 hash to sort names VFS: Mounted root (reiserfs filesystem) readonly. Freeing unused kernel memory: 320k freed INIT: version 2.85 booting INIT: PANIC: segmentation violation! sleeping for 30 seconds. INIT: PANIC: segmentation violation! sleeping for 30 seconds. INIT: PANIC: segmentation violation! sleeping for 30 seconds. INIT: PANIC: segmentation violation! sleeping for 30 seconds. INIT: PANIC: segmentation violation! sleeping for 30 seconds. INIT: PANIC: segmentation violation! sleeping for 30 seconds. INIT: PANIC: segmentation violation! sleeping for 30 seconds. INIT: PANIC: segmentation violation! sleeping for 30 seconds. INIT: PANIC: segmentation violation! sleeping for 30 seconds. INIT: PANIC: segmentation violation! sleeping for 30 seconds. INIT: PANIC: segmentation violation! sleeping for 30 seconds. INIT: PANIC: segmentation violation! sleeping for 30 seconds. INIT: PANIC: segmentation violation! sleeping for 30 seconds. ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH] ppc64: 64K pages support 2005-11-09 21:59 ` Badari Pulavarty @ 2005-11-09 22:01 ` Benjamin Herrenschmidt 2005-11-09 22:07 ` Badari Pulavarty 0 siblings, 1 reply; 20+ messages in thread From: Benjamin Herrenschmidt @ 2005-11-09 22:01 UTC (permalink / raw) To: Badari Pulavarty Cc: Mike Kravetz, Christoph Hellwig, Andrew Morton, linuxppc64-dev, Linus Torvalds, Linux Kernel list > I didn't have any luck on 2.6.14-git12 either. > I tried 64k page support on my P570. > > Here are the console messages: What distro do you use in userland ? Some older glibc versions have a bug that cause issues with 64k pages, though it generally happens with login blowing up, not init ... Ben. ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH] ppc64: 64K pages support 2005-11-09 22:01 ` Benjamin Herrenschmidt @ 2005-11-09 22:07 ` Badari Pulavarty 2005-11-16 23:08 ` Olaf Hering 0 siblings, 1 reply; 20+ messages in thread From: Badari Pulavarty @ 2005-11-09 22:07 UTC (permalink / raw) To: Benjamin Herrenschmidt Cc: Mike Kravetz, Christoph Hellwig, Andrew Morton, linuxppc64-dev, Linus Torvalds, Linux Kernel list On Thu, 2005-11-10 at 09:01 +1100, Benjamin Herrenschmidt wrote: > > I didn't have any luck on 2.6.14-git12 either. > > I tried 64k page support on my P570. > > > > Here are the console messages: > > What distro do you use in userland ? Some older glibc versions have a > bug that cause issues with 64k pages, though it generally happens with > login blowing up, not init ... SLES9 (could be SLES9 SP1). Thanks, Badari ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH] ppc64: 64K pages support 2005-11-09 22:07 ` Badari Pulavarty @ 2005-11-16 23:08 ` Olaf Hering 2005-11-16 23:16 ` Badari Pulavarty 0 siblings, 1 reply; 20+ messages in thread From: Olaf Hering @ 2005-11-16 23:08 UTC (permalink / raw) To: Badari Pulavarty Cc: Benjamin Herrenschmidt, Andrew Morton, Linux Kernel list, Linus Torvalds, linuxppc64-dev On Wed, Nov 09, Badari Pulavarty wrote: > On Thu, 2005-11-10 at 09:01 +1100, Benjamin Herrenschmidt wrote: > > > I didn't have any luck on 2.6.14-git12 either. > > > I tried 64k page support on my P570. > > > > > > Here are the console messages: > > > > What distro do you use in userland ? Some older glibc versions have a > > bug that cause issues with 64k pages, though it generally happens with > > login blowing up, not init ... > > SLES9 (could be SLES9 SP1). Can you double check? rpm -qi glibc | head should be enough. Would be bad if SP2 or SP3 does not work with 64k. -- short story of a lazy sysadmin: alias appserv=wotan ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH] ppc64: 64K pages support 2005-11-16 23:08 ` Olaf Hering @ 2005-11-16 23:16 ` Badari Pulavarty 2005-11-16 23:27 ` Olaf Hering [not found] ` <ac0de0c00511161557o379fbc71le6d5c5e2ff9a314b@mail.gmail.com> 0 siblings, 2 replies; 20+ messages in thread From: Badari Pulavarty @ 2005-11-16 23:16 UTC (permalink / raw) To: Olaf Hering Cc: Benjamin Herrenschmidt, Andrew Morton, Linux Kernel list, Linus Torvalds, linuxppc64-dev On Thu, 2005-11-17 at 00:08 +0100, Olaf Hering wrote: > On Wed, Nov 09, Badari Pulavarty wrote: > > > On Thu, 2005-11-10 at 09:01 +1100, Benjamin Herrenschmidt wrote: > > > > I didn't have any luck on 2.6.14-git12 either. > > > > I tried 64k page support on my P570. > > > > > > > > Here are the console messages: > > > > > > What distro do you use in userland ? Some older glibc versions have a > > > bug that cause issues with 64k pages, though it generally happens with > > > login blowing up, not init ... > > > > SLES9 (could be SLES9 SP1). > > Can you double check? rpm -qi glibc | head should be enough. > Would be bad if SP2 or SP3 does not work with 64k. > I think I am using SLES9. Planning to update to SP3. # rpm -qi glibc | head Name : glibc Relocations: (not relocatable) Version : 2.3.3 Vendor: SuSE Linux AG, Nuernberg, Germany Release : 98.28 Build Date: Wed Jun 30 15:55:45 2004 Install date: Wed Jul 6 17:24:44 2005 Build Host: gooseberry.suse.de Group : System/Libraries Source RPM: glibc-2.3.3-98.28.src.rpm Size : 6161800 License: GPL, LGPL Signature : DSA/SHA1, Wed Jun 30 16:00:21 2004, Key ID a84edae89c800aca Packager : http://www.suse.de/feedback URL : http://www.gnu.org/software/libc/libc.html Summary : The standard shared libraries (from the GNU C Library) Thanks, Badari ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH] ppc64: 64K pages support 2005-11-16 23:16 ` Badari Pulavarty @ 2005-11-16 23:27 ` Olaf Hering 2005-11-17 1:32 ` Andreas Schwab [not found] ` <ac0de0c00511161557o379fbc71le6d5c5e2ff9a314b@mail.gmail.com> 1 sibling, 1 reply; 20+ messages in thread From: Olaf Hering @ 2005-11-16 23:27 UTC (permalink / raw) To: Badari Pulavarty Cc: Benjamin Herrenschmidt, Andrew Morton, Linux Kernel list, Linus Torvalds, linuxppc64-dev On Wed, Nov 16, Badari Pulavarty wrote: > I think I am using SLES9. Planning to update to SP3. > > # rpm -qi glibc | head > Name : glibc Relocations: (not > relocatable) > Version : 2.3.3 Vendor: SuSE Linux AG, > Nuernberg, Germany > Release : 98.28 Build Date: Wed Jun 30 > 15:55:45 2004 The release number indicates the GA glibc.spec was used, but the build date indicates its slightly older than SLES9 GA. -- short story of a lazy sysadmin: alias appserv=wotan ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH] ppc64: 64K pages support 2005-11-16 23:27 ` Olaf Hering @ 2005-11-17 1:32 ` Andreas Schwab 0 siblings, 0 replies; 20+ messages in thread From: Andreas Schwab @ 2005-11-17 1:32 UTC (permalink / raw) To: Olaf Hering Cc: Badari Pulavarty, Andrew Morton, Linus Torvalds, Linux Kernel list, linuxppc64-dev Olaf Hering <olh@suse.de> writes: > On Wed, Nov 16, Badari Pulavarty wrote: > >> I think I am using SLES9. Planning to update to SP3. >> >> # rpm -qi glibc | head >> Name : glibc Relocations: (not >> relocatable) >> Version : 2.3.3 Vendor: SuSE Linux AG, >> Nuernberg, Germany >> Release : 98.28 Build Date: Wed Jun 30 >> 15:55:45 2004 > > The release number indicates the GA glibc.spec was used, but the > build date indicates its slightly older than SLES9 GA. Build date is local time (timezone has been chopped off here). Andreas. -- Andreas Schwab, SuSE Labs, schwab@suse.de SuSE Linux Products GmbH, Maxfeldstraße 5, 90409 Nürnberg, Germany PGP key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5 "And now for something completely different." ^ permalink raw reply [flat|nested] 20+ messages in thread
[parent not found: <ac0de0c00511161557o379fbc71le6d5c5e2ff9a314b@mail.gmail.com>]
* Re: [PATCH] ppc64: 64K pages support [not found] ` <ac0de0c00511161557o379fbc71le6d5c5e2ff9a314b@mail.gmail.com> @ 2005-11-17 0:33 ` Badari Pulavarty 0 siblings, 0 replies; 20+ messages in thread From: Badari Pulavarty @ 2005-11-17 0:33 UTC (permalink / raw) To: Sonny Rao Cc: Olaf Hering, Benjamin Herrenschmidt, Andrew Morton, Linux Kernel list, Linus Torvalds, linuxppc64-dev On Wed, 2005-11-16 at 17:57 -0600, Sonny Rao wrote: > On 11/16/05, Badari Pulavarty <pbadari@us.ibm.com> wrote: > On Thu, 2005-11-17 at 00:08 +0100, Olaf Hering wrote: > > On Wed, Nov 09, Badari Pulavarty wrote: > > > > > On Thu, 2005-11-10 at 09:01 +1100, Benjamin Herrenschmidt > wrote: > > > > > I didn't have any luck on 2.6.14-git12 either. > > > > > I tried 64k page support on my P570. > > > > > > > > > > Here are the console messages: > > > > > > > > What distro do you use in userland ? Some older glibc > versions have a > > > > bug that cause issues with 64k pages, though it > generally happens with > > > > login blowing up, not init ... > > > > > > SLES9 (could be SLES9 SP1). > > > > Can you double check? rpm -qi glibc | head should be > enough. > > Would be bad if SP2 or SP3 does not work with 64k. > > > > I think I am using SLES9. Planning to update to SP3. > > > Badari, the problem is with your toolchain.. > the binutils in SLES9 is too old (even in SP3) > > The issue is that it cannot align something (the zero page I think) to > 64kb . > > SLES9 SP3 has "GNU ld version 2.15.90.0.1.1 20040303 (SuSE Linux)" > > But I have to use binutils 2.15.94 to make a 64kb kernel boot > properly > (I can give you the package offline if you need) Thank you Sonny. I updated my binutils package and 64k pagesize kernel works fine for me (atleast booted fine). Thanks, Badari ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH] ppc64: 64K pages support 2005-11-09 17:21 ` Christoph Hellwig 2005-11-09 20:17 ` Mike Kravetz @ 2005-11-09 20:36 ` Benjamin Herrenschmidt 2005-11-09 22:15 ` Paul Mackerras 2005-11-09 23:42 ` Benjamin Herrenschmidt 3 siblings, 0 replies; 20+ messages in thread From: Benjamin Herrenschmidt @ 2005-11-09 20:36 UTC (permalink / raw) To: Christoph Hellwig Cc: Andrew Morton, linuxppc64-dev, Linus Torvalds, Linux Kernel list On Wed, 2005-11-09 at 18:21 +0100, Christoph Hellwig wrote: > Booting current mainline with 64K pagesize enabled gives me a purple (!) > screen early during boot. On the G5 ? Weird... I'll test. Ben. ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH] ppc64: 64K pages support 2005-11-09 17:21 ` Christoph Hellwig 2005-11-09 20:17 ` Mike Kravetz 2005-11-09 20:36 ` Benjamin Herrenschmidt @ 2005-11-09 22:15 ` Paul Mackerras 2005-11-09 23:42 ` Benjamin Herrenschmidt 3 siblings, 0 replies; 20+ messages in thread From: Paul Mackerras @ 2005-11-09 22:15 UTC (permalink / raw) To: Christoph Hellwig Cc: Benjamin Herrenschmidt, Andrew Morton, linuxppc64-dev, Linus Torvalds, Linux Kernel list Christoph Hellwig writes: > Booting current mainline with 64K pagesize enabled gives me a purple (!) > screen early during boot. Cool! Is this on a G5, or what sort of machine? What .config are you using? Paul. ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH] ppc64: 64K pages support 2005-11-09 17:21 ` Christoph Hellwig ` (2 preceding siblings ...) 2005-11-09 22:15 ` Paul Mackerras @ 2005-11-09 23:42 ` Benjamin Herrenschmidt 3 siblings, 0 replies; 20+ messages in thread From: Benjamin Herrenschmidt @ 2005-11-09 23:42 UTC (permalink / raw) To: Christoph Hellwig Cc: Andrew Morton, linuxppc64-dev, Linus Torvalds, Linux Kernel list On Wed, 2005-11-09 at 18:21 +0100, Christoph Hellwig wrote: > Booting current mainline with 64K pagesize enabled gives me a purple (!) > screen early during boot. Do you use one of the nvidia fbdev's ? What if you disable it ? (Also, rivafb has some funky bugs on my iMac G5, though nvidiafb works fine with the latest fixes that are now in -git, but I haven't tried with 64K pages enabled in the .config yet). Ben. ^ permalink raw reply [flat|nested] 20+ messages in thread
end of thread, other threads:[~2005-11-17 1:32 UTC | newest]
Thread overview: 20+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <1130915220.20136.14.camel@gaston>
2005-11-02 7:23 ` [PATCH] ppc64: 64K pages support Benjamin Herrenschmidt
2005-11-03 3:16 ` Paul Mackerras
2005-11-03 5:26 ` ppc64: Fix bug in SLB miss handler for hugepages David Gibson
2005-11-05 0:38 ` [PATCH] ppc64: 64K pages support Christoph Hellwig
2005-11-05 0:44 ` Benjamin Herrenschmidt
2005-11-05 6:37 ` Dave Airlie
2005-11-09 17:21 ` Christoph Hellwig
2005-11-09 20:17 ` Mike Kravetz
2005-11-09 20:32 ` Benjamin Herrenschmidt
2005-11-09 21:59 ` Badari Pulavarty
2005-11-09 22:01 ` Benjamin Herrenschmidt
2005-11-09 22:07 ` Badari Pulavarty
2005-11-16 23:08 ` Olaf Hering
2005-11-16 23:16 ` Badari Pulavarty
2005-11-16 23:27 ` Olaf Hering
2005-11-17 1:32 ` Andreas Schwab
[not found] ` <ac0de0c00511161557o379fbc71le6d5c5e2ff9a314b@mail.gmail.com>
2005-11-17 0:33 ` Badari Pulavarty
2005-11-09 20:36 ` Benjamin Herrenschmidt
2005-11-09 22:15 ` Paul Mackerras
2005-11-09 23:42 ` Benjamin Herrenschmidt
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox