4.4-rt: Need testing on arm32
Hi!
I tried to prepare next 4.4-rt release. I have code ready, but while running tests I realized that only two targets are used to run them.
We 4.19-rt has known bugs breaking boot on de0-nano (and probably other) boards, and according to code inspection, same bug is present in 4.4-rt. Fix is not complex, but I'm not comfortable applying it without _any_ testing.
If I'm right, 4.4-rt should be broken on socfpga boards (arm32) in non-realtime configuration; it should panic on boot in cca 50% of cases. Patch below should fix it.
Best regards,
Pavel
commit 20124aef8572b764ffd90d836253153102c763c5
Author: Pavel Machek <[email protected]> Date: Sat Mar 21 22:58:43 2020 +0100
With -rt tree but prempt-rt not enabled, de0-nano was getting failures
during boot, such as this:
https://lava.ciplatform.org/scheduler/job/13037
[ 6.813352] Freeing unused kernel memory: 1024K
[ 6.817927] Unable to handle kernel paging request at virtual address e7fddef0
[ 6.825121] pgd = (ptrval)
[ 6.827816] [e7fddef0] *pgd=27e1141e(bad)
[ 6.831818] Internal error: Oops: 8000000d [#1] SMP ARM
[ 6.837019] Modules linked in:
[ 6.840067] CPU: 0 PID: 0 Comm: swapper/0 Not tainted 4.19.106-cip21-gc82fe0af5 #1
[ 6.847601] Hardware name: Altera SOCFPGA
[ 6.851596] PC is at 0xe7fddef0
[ 6.854733] LR is at irq_work_run_list+0x84/0xc0
Bisect revealed fc9f4631a290 is the problematic commit, and some code
auditing revealed that it is working with wrong list. Fix it.
Signed-off-by: Pavel Machek <[email protected]>
Fixes: fc9f4631a290 ("irqwork: push most work into softirq context")kernel/irq_work.c +2 -1
@@ -78,7 +78,8 @@ bool irq_work_queue_on(struct irq_work *work, int cpu)if (!irq_work_claim (work))return false; -if (IS_ENABLED (CONFIG_PREEMPT_RT_FULL ) && !(work->flags &IRQ_WORK_HARD_IRQ )) +if ((IS_ENABLED (CONFIG_PREEMPT_RT_FULL ) && !(work->flags &IRQ_WORK_HARD_IRQ )) + || (work->flags &IRQ_WORK_LAZY )) list = &per_cpu (lazy_list, cpu);else list = &per_cpu (raised_list, cpu);
Signature · 2 lines
(english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
_______________________________________________
cip-dev mailing list
[email protected]
https://lists.cip-project.org/mailman/listinfo/cip-dev
Hi!
Quoted 11 lines
I tried to prepare next 4.4-rt release. I have code ready, but while running tests I realized that only two targets are used to run them.
We 4.19-rt has known bugs breaking boot on de0-nano (and probably other) boards, and according to code inspection, same bug is present in 4.4-rt. Fix is not complex, but I'm not comfortable applying it without _any_ testing.
If I'm right, 4.4-rt should be broken on socfpga boards (arm32) in non-realtime configuration; it should panic on boot in cca 50% of cases. Patch below should fix it.
And I pushed code _without_ the patch to kernel.org,
To gitolite.kernel.org:pub/scm/linux/kernel/git/cip/linux-cip.git
924af895a033..fbc533f445d2 linux-4.4.y-cip-rt -> linux-4.4.y-cip-rt
Best regards,
Pavel
Signature · 2 lines
DENX Software Engineering GmbH, Managing Director: Wolfgang Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
_______________________________________________
cip-dev mailing list
[email protected]
https://lists.cip-project.org/mailman/listinfo/cip-dev