Hello Guys,
I'm using branch linux-linaro-lsk-android on lsk(https://git.linaro.org/kernel/linux-linaro-stable.git). My arch is armv8.
When I config CONFIG_PREEMPT, The system panic.
It says "Failed to execute /init". I digged into it and found there was a page fault in atomic path.
And When config CONFIG_PREEMPT_VOLUNTARY or CONFIG_PREEMPT_NONE, it looks well.
Does anyone encounter this situation?
-- Zhizhou
Cc: Mark
I reproduced this problem with the latest branch on armv8 fast model. But it is not a page fault, but:
Freeing unused kernel memory: 236K (ffffffc000592000 - ffffffc0005cd000) BUG: scheduling while atomic: init/1/0x00000002 Modules linked in: CPU: 0 PID: 1 Comm: init Not tainted 3.10.55+ #4 Call trace: [<ffffffc000088354>] dump_backtrace+0x0/0x130 [<ffffffc000088494>] show_stack+0x10/0x1c [<ffffffc000413514>] dump_stack+0x1c/0x28 [<ffffffc0000c6dbc>] __schedule_bug+0x48/0x5c [<ffffffc0004157b0>] __schedule+0x54c/0x63c [<ffffffc0004158c4>] schedule+0x24/0x68 [<ffffffc000413b54>] schedule_timeout+0x194/0x214 [<ffffffc000414fd4>] wait_for_common+0xa4/0x14c [<ffffffc00041508c>] wait_for_completion+0x10/0x1c [<ffffffc0000f8fec>] stop_one_cpu+0x44/0x68 [<ffffffc0000c96e0>] sched_exec+0xa0/0xcc [<ffffffc00016d2e0>] do_execve_common.isra.32+0x1a4/0x4ac [<ffffffc00016d600>] do_execve+0x18/0x24 [<ffffffc00040d538>] kernel_init+0x12c/0x140 Kernel panic - not syncing: No init found. Try passing init= option to kernel. See Linux Documentation/init.txt for guidance.
- Takahiro AKASHI
On 23 September 2014 18:35, Zhizhou Zhang (张治洲) < Zhizhou.Zhang@spreadtrum.com> wrote:
Hello Guys,
I'm using branch linux-linaro-lsk-android on lsk(
https://git.linaro.org/kernel/linux-linaro-stable.git). My arch is armv8.
When I config CONFIG_PREEMPT, The system panic.
It says "Failed to execute /init". I digged into it and found there was a
page fault in atomic path.
And When config CONFIG_PREEMPT_VOLUNTARY or CONFIG_PREEMPT_NONE, it looks
well.
Does anyone encounter this situation?
-- Zhizhou
linaro-kernel mailing list linaro-kernel@lists.linaro.org http://lists.linaro.org/mailman/listinfo/linaro-kernel
Hi, I just simply change the config file to avoid this. I also have noticed that other branches were fine. I think git-bisect can find the buggy commit easily. I'm too busy these days, or I will report it more hard.
----- Reply message ----- 发件人: "Takahiro Akashi" takahiro.akashi@linaro.org 收件人: "Zhizhou Zhang (张治洲)" Zhizhou.Zhang@spreadtrum.com 抄送: "linaro-android@lists.linaro.org" linaro-android@lists.linaro.org, "linaro-kernel@lists.linaro.org" linaro-kernel@lists.linaro.org, "Mark Brown" broonie@linaro.org 主题: kernel crush because of CONFIG_PREEMPT 日期: 周五, 10月 3 日, 2014 年 10:45
Cc: Mark
I reproduced this problem with the latest branch on armv8 fast model. But it is not a page fault, but:
Freeing unused kernel memory: 236K (ffffffc000592000 - ffffffc0005cd000) BUG: scheduling while atomic: init/1/0x00000002 Modules linked in: CPU: 0 PID: 1 Comm: init Not tainted 3.10.55+ #4 Call trace: [<ffffffc000088354>] dump_backtrace+0x0/0x130 [<ffffffc000088494>] show_stack+0x10/0x1c [<ffffffc000413514>] dump_stack+0x1c/0x28 [<ffffffc0000c6dbc>] __schedule_bug+0x48/0x5c [<ffffffc0004157b0>] __schedule+0x54c/0x63c [<ffffffc0004158c4>] schedule+0x24/0x68 [<ffffffc000413b54>] schedule_timeout+0x194/0x214 [<ffffffc000414fd4>] wait_for_common+0xa4/0x14c [<ffffffc00041508c>] wait_for_completion+0x10/0x1c [<ffffffc0000f8fec>] stop_one_cpu+0x44/0x68 [<ffffffc0000c96e0>] sched_exec+0xa0/0xcc [<ffffffc00016d2e0>] do_execve_common.isra.32+0x1a4/0x4ac [<ffffffc00016d600>] do_execve+0x18/0x24 [<ffffffc00040d538>] kernel_init+0x12c/0x140 Kernel panic - not syncing: No init found. Try passing init= option to kernel. See Linux Documentation/init.txt for guidance.
- Takahiro AKASHI
On 23 September 2014 18:35, Zhizhou Zhang (张治洲) <Zhizhou.Zhang@spreadtrum.commailto:Zhizhou.Zhang@spreadtrum.com> wrote:
Hello Guys,
I'm using branch linux-linaro-lsk-android on lsk(https://git.linaro.org/kernel/linux-linaro-stable.git). My arch is armv8.
When I config CONFIG_PREEMPT, The system panic.
It says "Failed to execute /init". I digged into it and found there was a page fault in atomic path.
And When config CONFIG_PREEMPT_VOLUNTARY or CONFIG_PREEMPT_NONE, it looks well.
Does anyone encounter this situation?
-- Zhizhou
linaro-kernel mailing list linaro-kernel@lists.linaro.orgmailto:linaro-kernel@lists.linaro.org http://lists.linaro.org/mailman/listinfo/linaro-kernel
Mark,
Bisect shows that the following commit causes this problem:
commit bb0dddf6157bc679de9143507375fce3f13fcd00 Merge: 4e65656 b60edab Author: Mark Brown broonie@kernel.org Date: Mon Sep 8 12:05:48 2014 +0100
Merge remote-tracking branch 'lsk/v3.10/topic/aosp' into linux-linaro-lsk-android
And we can fix it with:
diff --git a/arch/arm64/kernel/fpsimd.c b/arch/arm64/kernel/fpsimd.c index 845fae3..5ba0217 100644 --- a/arch/arm64/kernel/fpsimd.c +++ b/arch/arm64/kernel/fpsimd.c @@ -158,6 +158,7 @@ void fpsimd_flush_thread(void) preempt_disable(); memset(¤t->thread.fpsimd_state, 0, sizeof(struct fpsimd_state)); set_thread_flag(TIF_FOREIGN_FPSTATE); + preempt_enable(); }
/*
-Takahiro AKASHI
On 10/03/2014 04:53 PM, Zhizhou Zhang (张治洲) wrote:
Hi, I just simply change the config file to avoid this. I also have noticed that other branches were fine. I think git-bisect can find the buggy commit easily. I'm too busy these days, or I will report it more hard.
----- Reply message ----- 发件人: "Takahiro Akashi" takahiro.akashi@linaro.org 收件人: "Zhizhou Zhang (张治洲)" Zhizhou.Zhang@spreadtrum.com 抄送: "linaro-android@lists.linaro.org" linaro-android@lists.linaro.org, "linaro-kernel@lists.linaro.org" linaro-kernel@lists.linaro.org, "Mark Brown" broonie@linaro.org 主题: kernel crush because of CONFIG_PREEMPT 日期: 周五, 10月 3 日, 2014 年 10:45
Cc: Mark
I reproduced this problem with the latest branch on armv8 fast model. But it is not a page fault, but:
Freeing unused kernel memory: 236K (ffffffc000592000 - ffffffc0005cd000) BUG: scheduling while atomic: init/1/0x00000002 Modules linked in: CPU: 0 PID: 1 Comm: init Not tainted 3.10.55+ #4 Call trace: [<ffffffc000088354>] dump_backtrace+0x0/0x130 [<ffffffc000088494>] show_stack+0x10/0x1c [<ffffffc000413514>] dump_stack+0x1c/0x28 [<ffffffc0000c6dbc>] __schedule_bug+0x48/0x5c [<ffffffc0004157b0>] __schedule+0x54c/0x63c [<ffffffc0004158c4>] schedule+0x24/0x68 [<ffffffc000413b54>] schedule_timeout+0x194/0x214 [<ffffffc000414fd4>] wait_for_common+0xa4/0x14c [<ffffffc00041508c>] wait_for_completion+0x10/0x1c [<ffffffc0000f8fec>] stop_one_cpu+0x44/0x68 [<ffffffc0000c96e0>] sched_exec+0xa0/0xcc [<ffffffc00016d2e0>] do_execve_common.isra.32+0x1a4/0x4ac [<ffffffc00016d600>] do_execve+0x18/0x24 [<ffffffc00040d538>] kernel_init+0x12c/0x140 Kernel panic - not syncing: No init found. Try passing init= option to kernel. See Linux Documentation/init.txt for guidance.
- Takahiro AKASHI
On 23 September 2014 18:35, Zhizhou Zhang (张治洲) <Zhizhou.Zhang@spreadtrum.com mailto:Zhizhou.Zhang@spreadtrum.com> wrote:
Hello Guys,
I'm using branch linux-linaro-lsk-android on lsk(https://git.linaro.org/kernel/linux-linaro-stable.git). My arch is
armv8.
When I config CONFIG_PREEMPT, The system panic.
It says "Failed to execute /init". I digged into it and found there was a page fault in atomic path.
And When config CONFIG_PREEMPT_VOLUNTARY or CONFIG_PREEMPT_NONE, it looks well.
Does anyone encounter this situation?
-- Zhizhou
linaro-kernel mailing list linaro-kernel@lists.linaro.org mailto:linaro-kernel@lists.linaro.org http://lists.linaro.org/mailman/listinfo/linaro-kernel
On 3 October 2014 11:25, AKASHI Takahiro takahiro.akashi@linaro.org wrote:
Mark,
Bisect shows that the following commit causes this problem:
commit bb0dddf6157bc679de9143507375fce3f13fcd00 Merge: 4e65656 b60edab Author: Mark Brown broonie@kernel.org Date: Mon Sep 8 12:05:48 2014 +0100
Merge remote-tracking branch 'lsk/v3.10/topic/aosp' into
linux-linaro-lsk-android
And we can fix it with:
Thanks, this looks like a good fix - I've applied it. Looks like it's the only instance of the problem which is good.
linaro-android@lists.linaro.org