* Crash with VMALLOC api
@ 2012-06-23 5:58 R, Sricharan
2012-06-23 6:32 ` R, Sricharan
2012-06-24 20:47 ` David Rientjes
0 siblings, 2 replies; 4+ messages in thread
From: R, Sricharan @ 2012-06-23 5:58 UTC (permalink / raw)
To: linux-mm; +Cc: Santosh Shilimkar, linux-omap
Hi,
I am observing a below crash with VMALLOC call on mainline kernel.
The issue happens when there is insufficent vmalloc space.
Isn't it expected that the API should return a NULL instead of crashing when
there is not enough memory?. This can be reproduced with succesive vmalloc
calls for a size of about say 10MB, without a vfree, thus exhausting
the memory.
Strangely when vmalloc is requested for a large chunk, then at that time API
does not crash instead returns a NULL correctly.
Please correct me if my understanding is not correct..
--------------------------------------------------------------------------------------
[ 345.059841] Unable to handle kernel paging request at virtual
address 90011000
[ 345.067063] pgd = ebc34000
[ 345.069793] [90011000] *pgd=00000000
[ 345.073383] Internal error: Oops: 5 [#1] PREEMPT SMP ARM
[ 345.078685] Modules linked in: bcmdhd cfg80211 inv_mpu_ak8975
inv_mpu_kxtf9 mpu3050
[ 345.086380] CPU: 0 Tainted: G W (3.4.0-rc1-05660-g0d4b175 #1)
[ 345.093351] PC is at vmap_page_range_noflush+0xf0/0x200
[ 345.098569] LR is at vmap_page_range+0x14/0x50
[ 345.103005] pc : [<c01091c8>] lr : [<c01092ec>] psr: 80000013
[ 345.103009] sp : ebc41e38 ip : fe000fff fp : 00002000
[ 345.114472] r10: c0a78480 r9 : 90011000 r8 : c096e2ac
[ 345.119685] r7 : 90011000 r6 : 00000000 r5 : fe000000 r4 : 00000000
[ 345.126198] r3 : 50011452 r2 : f385c400 r1 : fe000fff r0 : f385c400
[ 345.132713] Flags: Nzcv IRQs on FIQs on Mode SVC_32 ISA ARM Segment user
[ 345.139835] Control: 10c5387d Table: abc3404a DAC: 00000015
Thanks,
Sricharan
--
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>
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Crash with VMALLOC api
2012-06-23 5:58 Crash with VMALLOC api R, Sricharan
@ 2012-06-23 6:32 ` R, Sricharan
2012-06-24 20:47 ` David Rientjes
1 sibling, 0 replies; 4+ messages in thread
From: R, Sricharan @ 2012-06-23 6:32 UTC (permalink / raw)
To: linux-mm; +Cc: Santosh Shilimkar, linux-omap
Hi,
BTW i was facing the issue on OMAP4430 SDP platform with
mainline.
Thanks,
Sricharan
On Sat, Jun 23, 2012 at 11:28 AM, R, Sricharan <r.sricharan@ti.com> wrote:
> Hi,
> I am observing a below crash with VMALLOC call on mainline kernel.
> The issue happens when there is insufficent vmalloc space.
> Isn't it expected that the API should return a NULL instead of crashing when
> there is not enough memory?. This can be reproduced with succesive vmalloc
> calls for a size of about say 10MB, without a vfree, thus exhausting
> the memory.
>
> Strangely when vmalloc is requested for a large chunk, then at that time API
> does not crash instead returns a NULL correctly.
>
> Please correct me if my understanding is not correct..
>
> --------------------------------------------------------------------------------------
>
> [ 345.059841] Unable to handle kernel paging request at virtual
> address 90011000
> [ 345.067063] pgd = ebc34000
> [ 345.069793] [90011000] *pgd=00000000
> [ 345.073383] Internal error: Oops: 5 [#1] PREEMPT SMP ARM
> [ 345.078685] Modules linked in: bcmdhd cfg80211 inv_mpu_ak8975
> inv_mpu_kxtf9 mpu3050
> [ 345.086380] CPU: 0 Tainted: G W (3.4.0-rc1-05660-g0d4b175 #1)
> [ 345.093351] PC is at vmap_page_range_noflush+0xf0/0x200
> [ 345.098569] LR is at vmap_page_range+0x14/0x50
> [ 345.103005] pc : [<c01091c8>] lr : [<c01092ec>] psr: 80000013
> [ 345.103009] sp : ebc41e38 ip : fe000fff fp : 00002000
> [ 345.114472] r10: c0a78480 r9 : 90011000 r8 : c096e2ac
> [ 345.119685] r7 : 90011000 r6 : 00000000 r5 : fe000000 r4 : 00000000
> [ 345.126198] r3 : 50011452 r2 : f385c400 r1 : fe000fff r0 : f385c400
> [ 345.132713] Flags: Nzcv IRQs on FIQs on Mode SVC_32 ISA ARM Segment user
> [ 345.139835] Control: 10c5387d Table: abc3404a DAC: 00000015
>
> Thanks,
> Sricharan
--
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>
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Crash with VMALLOC api
2012-06-23 5:58 Crash with VMALLOC api R, Sricharan
2012-06-23 6:32 ` R, Sricharan
@ 2012-06-24 20:47 ` David Rientjes
2012-06-25 17:23 ` R, Sricharan
1 sibling, 1 reply; 4+ messages in thread
From: David Rientjes @ 2012-06-24 20:47 UTC (permalink / raw)
To: R, Sricharan; +Cc: linux-mm, Santosh Shilimkar, linux-omap
On Sat, 23 Jun 2012, R, Sricharan wrote:
> Hi,
> I am observing a below crash with VMALLOC call on mainline kernel.
> The issue happens when there is insufficent vmalloc space.
> Isn't it expected that the API should return a NULL instead of crashing when
> there is not enough memory?.
Yes.
> This can be reproduced with succesive vmalloc
> calls for a size of about say 10MB, without a vfree, thus exhausting
> the memory.
>
> Strangely when vmalloc is requested for a large chunk, then at that time API
> does not crash instead returns a NULL correctly.
>
> Please correct me if my understanding is not correct..
>
> --------------------------------------------------------------------------------------
>
> [ 345.059841] Unable to handle kernel paging request at virtual
> address 90011000
> [ 345.067063] pgd = ebc34000
> [ 345.069793] [90011000] *pgd=00000000
> [ 345.073383] Internal error: Oops: 5 [#1] PREEMPT SMP ARM
> [ 345.078685] Modules linked in: bcmdhd cfg80211 inv_mpu_ak8975
> inv_mpu_kxtf9 mpu3050
> [ 345.086380] CPU: 0 Tainted: G W (3.4.0-rc1-05660-g0d4b175 #1)
> [ 345.093351] PC is at vmap_page_range_noflush+0xf0/0x200
> [ 345.098569] LR is at vmap_page_range+0x14/0x50
> [ 345.103005] pc : [<c01091c8>] lr : [<c01092ec>] psr: 80000013
> [ 345.103009] sp : ebc41e38 ip : fe000fff fp : 00002000
> [ 345.114472] r10: c0a78480 r9 : 90011000 r8 : c096e2ac
> [ 345.119685] r7 : 90011000 r6 : 00000000 r5 : fe000000 r4 : 00000000
> [ 345.126198] r3 : 50011452 r2 : f385c400 r1 : fe000fff r0 : f385c400
> [ 345.132713] Flags: Nzcv IRQs on FIQs on Mode SVC_32 ISA ARM Segment user
> [ 345.139835] Control: 10c5387d Table: abc3404a DAC: 00000015
Couple requests:
- since you're already running an -rc kernel, would it be possible to
try 3.5-rc4, which was released today, instead?
- could you disassemble vmap_page_range_noflush and post the output or
map the offset back to the line in the code?
Thanks!
--
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>
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Crash with VMALLOC api
2012-06-24 20:47 ` David Rientjes
@ 2012-06-25 17:23 ` R, Sricharan
0 siblings, 0 replies; 4+ messages in thread
From: R, Sricharan @ 2012-06-25 17:23 UTC (permalink / raw)
To: David Rientjes; +Cc: linux-mm, Santosh Shilimkar, linux-omap
Hi David,
On Mon, Jun 25, 2012 at 2:17 AM, David Rientjes <rientjes@google.com> wrote:
> On Sat, 23 Jun 2012, R, Sricharan wrote:
>
>> Hi,
>> I am observing a below crash with VMALLOC call on mainline kernel.
>> The issue happens when there is insufficent vmalloc space.
>> Isn't it expected that the API should return a NULL instead of crashing when
>> there is not enough memory?.
>
> Yes.
>
>> This can be reproduced with succesive vmalloc
>> calls for a size of about say 10MB, without a vfree, thus exhausting
>> the memory.
>>
>> Strangely when vmalloc is requested for a large chunk, then at that time API
>> does not crash instead returns a NULL correctly.
>>
>> Please correct me if my understanding is not correct..
>>
>> --------------------------------------------------------------------------------------
>>
>> [ 345.059841] Unable to handle kernel paging request at virtual
>> address 90011000
>> [ 345.067063] pgd = ebc34000
>> [ 345.069793] [90011000] *pgd=00000000
>> [ 345.073383] Internal error: Oops: 5 [#1] PREEMPT SMP ARM
>> [ 345.078685] Modules linked in: bcmdhd cfg80211 inv_mpu_ak8975
>> inv_mpu_kxtf9 mpu3050
>> [ 345.086380] CPU: 0 Tainted: G W (3.4.0-rc1-05660-g0d4b175 #1)
>> [ 345.093351] PC is at vmap_page_range_noflush+0xf0/0x200
>> [ 345.098569] LR is at vmap_page_range+0x14/0x50
>> [ 345.103005] pc : [<c01091c8>] lr : [<c01092ec>] psr: 80000013
>> [ 345.103009] sp : ebc41e38 ip : fe000fff fp : 00002000
>> [ 345.114472] r10: c0a78480 r9 : 90011000 r8 : c096e2ac
>> [ 345.119685] r7 : 90011000 r6 : 00000000 r5 : fe000000 r4 : 00000000
>> [ 345.126198] r3 : 50011452 r2 : f385c400 r1 : fe000fff r0 : f385c400
>> [ 345.132713] Flags: Nzcv IRQs on FIQs on Mode SVC_32 ISA ARM Segment user
>> [ 345.139835] Control: 10c5387d Table: abc3404a DAC: 00000015
>
> Couple requests:
>
> - since you're already running an -rc kernel, would it be possible to
> try 3.5-rc4, which was released today, instead?
>
> - could you disassemble vmap_page_range_noflush and post the output or
> map the offset back to the line in the code?
Thanks a lot for the response.
Debugged this further and the real issue was because of
static mapping for a 1MB io page and the vmalloc mapping for a
1MB dram page falling in to one PGD entry (PGDIR_SHIFT is 0x21).
While trying to setup the pagetables for the dram page,
the PGD entry of static io map is used, resulting in the paging fault.
This was because of a recent change that brought the static io mappings
under the vmalloc space.
Thanks,
Sricharan
--
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>
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2012-06-25 17:23 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-06-23 5:58 Crash with VMALLOC api R, Sricharan
2012-06-23 6:32 ` R, Sricharan
2012-06-24 20:47 ` David Rientjes
2012-06-25 17:23 ` R, Sricharan
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox