I inform that with thepatch below, my computer starts and works normally, with khugepaged enabled. http://www.sys-linux.yi.org/info.php dmesg enclosed if important for something, configure the same as before with khugepage always enabled. In my last mail, I sent enclosed the output of the kernel compilation, with several advise messages. Pls check that, and correct the subroutines where necessary. wl ============================================= On Sun, 23 Jan 2011 05:18:01 +0100 Andrea Arcangeli wrote: > Hi Werner, > > On Sat, Jan 22, 2011 at 10:56:16PM -0400, werner wrote: >> -rc2 hang up itself, still >> Again compiled with khugepaged enabled, so I suppose >>thats >> the reason, still. >> First, the initialisation of KDE stops, if then >>switching >> with CTRL-ALT-F1 to the text system, one can log in, but >> soon after comes the kernel error message, and it sticks >> also on the text screen, going nothing else, only press >> the reboot button ... > > You need to apply this below patch on top of rc2 to be >stable on > x86_32 with PARAVIRT=y and HIGHMEM64G=n. It's in -mm >already. Can you > confirm that this fixes your problem? Thanks. > > ==== > Subject: thp: fix PARAVIRT x86 32bit noPAE > >From: Andrea Arcangeli > > This fixes TRANSPARENT_HUGEPAGE=y with PARAVIRT=y and >HIGHMEM64=n. > > The #ifdef that this patch removes was erratically >introduced to fix a build > error for noPAE (where pmd.pmd doesn't exist). So then >the kernel built but it > failed at runtime because set_pmd_at was a noop. This >will correct it by > enabling set_pmd_at for noPAE mode too. > > Signed-off-by: Andrea Arcangeli > --- > > diff --git a/arch/x86/include/asm/paravirt.h >b/arch/x86/include/asm/paravirt.h > index 2071a8b..ebbc4d8 100644 > --- a/arch/x86/include/asm/paravirt.h > +++ b/arch/x86/include/asm/paravirt.h > @@ -558,13 +558,12 @@ static inline void >set_pte_at(struct mm_struct *mm, unsigned long addr, > static inline void set_pmd_at(struct mm_struct *mm, >unsigned long addr, > pmd_t *pmdp, pmd_t pmd) > { > -#if PAGETABLE_LEVELS >= 3 > if (sizeof(pmdval_t) > sizeof(long)) > /* 5 arg words */ > pv_mmu_ops.set_pmd_at(mm, addr, pmdp, pmd); > else > - PVOP_VCALL4(pv_mmu_ops.set_pmd_at, mm, addr, pmdp, >pmd.pmd); > -#endif > + PVOP_VCALL4(pv_mmu_ops.set_pmd_at, mm, addr, pmdp, > + native_pmd_val(pmd)); > } > #endif > > > "werner" --- Professional hosting for everyone - http://www.host.ru