[meta-intel] [PATCH v2 4/5] fri2.conf: fix boot time kernel errors

nitin.a.kamble at intel.com nitin.a.kamble at intel.com
Thu Jan 31 10:31:38 PST 2013


From: Nitin A Kamble <nitin.a.kamble at intel.com>

The fri2 kernel is hitting kernel BUGs while booting as seen bellow.

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"
-- 
1.7.3.4




More information about the meta-intel mailing list