Subject: Re: Next July 29 : Hugetlb test failure (OOPS free_hugepte_range)

From: Sachin Sant <[email-masked]>
Date: Wed, 05 Aug 2009 16:13:03 +0530

Benjamin Herrenschmidt wrote:
> Thanks. I'll have a look next week. I think when I changed the indices
> I may have forgotten to update something.
>   
Ben,

I can recreate this issue with today's next.
Let me know if i can help in any way to fix this issue.

Thanks
-Sachin

>> : ------------[ cut here ]------------
>> cpu 0x0: Vector: 700 (Program Check) at [c000000038923560]
>>     pc: c0000000000486d4: .free_hugepte_range+0x68/0xa0
>>     lr: c000000000048954: .hugetlb_free_pgd_range+0x248/0x38c
>>     sp: c0000000389237e0
>>    msr: 8000000000029032
>>   current = 0xc00000003b1d7780
>>   paca    = 0xc000000001002400
>>     pid   = 2839, comm = readback
>> kernel BUG at /home/linux-2.6.31-rc4/arch/powerpc/include/asm/pgalloc.h:36!
>> enter ? for help
>> [c000000038923880] c000000000048954 .hugetlb_free_pgd_range+0x248/0x38c
>> [c000000038923970] c000000000165a48 .free_pgtables+0xa0/0x154
>> [c000000038923a30] c000000000167f78 .exit_mmap+0x13c/0x1cc
>> [c000000038923ae0] c0000000000997ec .mmput+0x68/0x14c
>> [c000000038923b70] c00000000009f1d4 .exit_mm+0x190/0x1b8
>> [c000000038923c20] c0000000000a16e8 .do_exit+0x214/0x784
>> [c000000038923d00] c0000000000a1d1c .do_group_exit+0xc4/0xf8
>> [c000000038923da0] c0000000000a1d7c .SyS_exit_group+0x2c/0x48
>> [c000000038923e30] c0000000000085b4 syscall_exit+0x0/0x40
>> --- Exception: c01 (System Call) at 000000000fe15038
>> SP (ffb8e030) is in userspace
>> 0:mon> e
>> cpu 0x0: Vector: 700 (Program Check) at [c000000038923560]
>>     pc: c0000000000486d4: .free_hugepte_range+0x68/0xa0
>>     lr: c000000000048954: .hugetlb_free_pgd_range+0x248/0x38c
>>     sp: c0000000389237e0
>>    msr: 8000000000029032
>>   current = 0xc00000003b1d7780
>>   paca    = 0xc000000001002400
>>     pid   = 2839, comm = readback
>> kernel BUG at /home/linux-2.6.31-rc4/arch/powerpc/include/asm/pgalloc.h:36!
>> 0:mon> r
>> R00 = 0000000000000001   R16 = 0000000000000000
>> R01 = c0000000389237e0   R17 = 0000000000000001
>> R02 = c000000000f165a8   R18 = 000000003fffffff
>> R03 = c0000000014504d0   R19 = 0000000000000000
>> R04 = c000000039390001   R20 = 0000000000000000
>> R05 = 0000000000000007   R21 = 0000010000000000
>> R06 = 0000000000000000   R22 = 0000000040000000
>> R07 = 0000000040000000   R23 = c0000000014504d0
>> R08 = c00000003d708188   R24 = 000000003fffffff
>> R09 = c00000003eb40000   R25 = 0000000000000007
>> R10 = c00000003d708188   R26 = c00000003ebd41b8
>> R11 = 0000000000000018   R27 = c0000000014504d0
>> R12 = 0000000040000448   R28 = c00000003eb40018
>> R13 = c000000001002400   R29 = 0000000000000008
>> R14 = 00000000ffffffff   R30 = 0000000040000000
>> R15 = 00000000ffffffff   R31 = c0000000389237e0
>> pc  = c0000000000486d4 .free_hugepte_range+0x68/0xa0
>> lr  = c000000000048954 .hugetlb_free_pgd_range+0x248/0x38c
>> msr = 8000000000029032   cr  = 20042444
>> ctr = 800000000000b6f4   xer = 0000000000000001   trap =  700
>> 0:mon> 
>>
>> Line 36 of arch/powerpc/include/asm/pgalloc.h corresponds to
>>
>> BUG_ON(cachenum > PGF_CACHENUM_MASK);
>>
>> May be something to do with number of elements in huge_pgtable_cache_name ??
>>
>> Thanks
>> -Sachin
-- 

---------------------------------
Sachin Sant
IBM Linux Technology Center
India Systems and Technology Labs
Bangalore, India
---------------------------------