[meta-intel] [PATCH v2 4/5] fri2.conf: fix boot time kernel errors
Darren Hart
darren.hart at intel.com
Thu Jan 31 12:41:50 PST 2013
On 01/31/2013 12:38 PM, Kamble, Nitin A wrote:
>
>
>> -----Original Message-----
>> From: Zanussi, Tom
>> Sent: Thursday, January 31, 2013 12:36 PM
>> To: Kamble, Nitin A
>> Cc: Hart, Darren; meta-intel at yoctoproject.org
>> Subject: Re: [PATCH v2 4/5] fri2.conf: fix boot time kernel errors
>>
>> On Thu, 2013-01-31 at 10:31 -0800, nitin.a.kamble at intel.com wrote:
>>> From: Nitin A Kamble <nitin.a.kamble at intel.com>
>>>
>>> The fri2 kernel is hitting kernel BUGs while booting as seen bellow.
>>>
>>
>> ^^^^^
>>
>> As requested before, please proofread for obvious typos before submitting.
>> I'll fix this up in the commit so no need to resubmit for this, but please do
>> check before sending...
>>
>
> Tom,
> I don't get, what is the issue with the wording?
bellow - deep loud roar
below - underneath
--
Darren
>
>
>
>> Thanks,
>>
>> Tom
>>
>>> BUG: Bad page state in process loop0 pfn:3803
>>> page:f6991700 count:0 mapcount:0 mapping: (null) index:0x0 page
>>> flags: 0x80400000(uncached) Modules linked in: emgd drm_kms_helper
>>> ip_tables x_tables arc4 minix cdc_acm iwlwifi led_class mac80211
>>> cfg80211 firmware_class
>>> Pid: 448, comm: loop0 Not tainted 3.4.26-yocto-standard #1 Call Trace:
>>> [<c10cdb0f>] bad_page+0x8f/0xe0
>>> [<c10ce0e5>] get_page_from_freelist+0x435/0x4e0
>>> [<c10ce2c5>] __alloc_pages_nodemask+0x135/0x690
>>> [<c10d1964>] __do_page_cache_readahead+0xe4/0x210
>>> [<c1055a6b>] ? get_parent_ip+0xb/0x40 [<c1055a6b>] ?
>>> get_parent_ip+0xb/0x40 [<c10d1cf7>] ra_submit+0x27/0x30
>> [<c10d1e37>]
>>> ondemand_readahead+0x137/0x230 [<c166b061>] ?
>>> __wait_on_bit_lock+0x61/0xa0 [<c10d1fae>]
>>> page_cache_async_readahead+0x7e/0xa0
>>> [<c112b590>] __generic_file_splice_read+0x360/0x5a0
>>> [<c1129e90>] ? page_cache_pipe_buf_release+0x20/0x20
>>> [<c105c56c>] ? enqueue_task_fair+0x1ac/0x620 [<c105b584>] ?
>>> check_preempt_wakeup+0x144/0x220 [<c1054b32>] ?
>>> check_preempt_curr+0x72/0x90 [<c1051f5d>] ? ttwu_stat+0x2d/0x100
>>> [<c1055a6b>] ? get_parent_ip+0xb/0x40 [<c1055a6b>] ?
>>> get_parent_ip+0xb/0x40 [<c1670763>] ? sub_preempt_count+0x43/0xb0
>>> [<c102573e>] ? __kunmap_atomic+0x3e/0x90 [<c13b22c0>] ?
>>> loop_make_request+0xf0/0xf0 [<c13b19b9>] ? lo_splice_actor+0x89/0xc0
>>> [<c12c01e4>] ? security_file_permission+0x94/0xb0
>>> [<c112b83c>] generic_file_splice_read+0x6c/0xe0
>>> [<c112b7d0>] ? __generic_file_splice_read+0x5a0/0x5a0
>>> [<c112a201>] vfs_splice_to+0x61/0x80
>>> [<c112a2ca>] splice_direct_to_actor+0xaa/0x1d0 [<c13b21b0>] ?
>>> loop_thread+0x510/0x510 [<c13b1f43>] loop_thread+0x2a3/0x510
>>> [<c13b1ca0>] ? do_lo_send_write+0xe0/0xe0 [<c1047103>]
>>> kthread+0x73/0x80 [<c1047090>] ?
>>> kthread_freezable_should_stop+0x50/0x50
>>> [<c1673df6>] kernel_thread_helper+0x6/0x10
>>>
>>> FRI2 has 1GB of ram, hence the kernel sets 128MB for the vmalloc
>>> allocation memory. And the emgd driver needs at least 256MB vmalloc
>>> memory to work correctly. This commit specifies the vmalloc allocation
>>> size to the kernel by the vmalloc=256MB boot parameter.
>>>
>>> Adjusting the kernel's vmalloc allocation size fixes the kernel errors.
>>>
>>> This fixes bug:
>>> [Yocto #3810]
>>>
>>> Signed-off-by: Nitin A Kamble <nitin.a.kamble at intel.com>
>>> ---
>>> meta-fri2/conf/machine/fri2.conf | 3 +++
>>> 1 files changed, 3 insertions(+), 0 deletions(-)
>>>
>>> diff --git a/meta-fri2/conf/machine/fri2.conf
>>> b/meta-fri2/conf/machine/fri2.conf
>>> index 40f2cdc..a1b13fa 100644
>>> --- a/meta-fri2/conf/machine/fri2.conf
>>> +++ b/meta-fri2/conf/machine/fri2.conf
>>> @@ -38,3 +38,6 @@ APPEND += "console=ttyPCH1,115200 console=tty0"
>>>
>>> # EFI boot will ignore this and use the EFI framebuffer at 800x600
>>> APPEND += "video=vesafb vga=0x318"
>>> +
>>> +# EMGD kernel driver needs at least 256MB of vmalloc space APPEND +=
>>> +"vmalloc=256MB"
>>
>
--
Darren Hart
Intel Open Source Technology Center
Yocto Project - Linux Kernel
More information about the meta-intel
mailing list