linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
* 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