Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1298720 > unrolled thread

[4.4-rc6-rt1 PATCH 0/2] ARM: am437x: boot test report

Started byGrygorii Strashko <grygorii.strashko@ti.com>
First post2015-12-28 19:10 +0100
Last post2015-12-28 19:10 +0100
Articles 3 — 1 participant

Back to article view | Back to linux.kernel


Contents

  [4.4-rc6-rt1 PATCH 0/2] ARM: am437x: boot test report Grygorii Strashko <grygorii.strashko@ti.com> - 2015-12-28 19:10 +0100
    [4.4-rc6-rt1 PATCH 2/2] kernel/time/timer.c: UP: fix undefined reference to `del_timer_sync' Grygorii Strashko <grygorii.strashko@ti.com> - 2015-12-28 19:10 +0100
    [4.4-rc6-rt1 PATCH 1/2] kernel/sched/core.c: UP: fix 'implicit declaration of function 'update_migrate_disable' Grygorii Strashko <grygorii.strashko@ti.com> - 2015-12-28 19:10 +0100

#1298720 — [4.4-rc6-rt1 PATCH 0/2] ARM: am437x: boot test report

FromGrygorii Strashko <grygorii.strashko@ti.com>
Date2015-12-28 19:10 +0100
Subject[4.4-rc6-rt1 PATCH 0/2] ARM: am437x: boot test report
Message-ID<qKKp4-5Hi-9@gated-at.bofh.it>
Hi All, Sebastian,

! Merry Christmas and Happy New year !

Sebastian, Thanks alot for this Christmas present.

I was able to test -RT 4.4-rc6-rt1 Kernel on ARM TI am437x-gpevm (UP)
1) UP build is broken, so there are two fixes.

2) I can boot using very minimal rootfs

3) Seems there are some problem with HIGHMEM :(. System crashes if I'm trying
   to run hackbench (see log 1). I can run hackbench only if HIGHMEM is disabled.
   I've also tried to disable CONFIG_CPU_SW_DOMAIN_PAN, CONFIG_ARM_PATCH_PHYS_VIRT,
   and CONFIG_CPUSETS, before disabling HIGHMEM.
   Sorry, I'll not able to investigate it further because of Christmas holidays here.  

4) Could we revert commit 4fa5422 'ARM: OMAP2: Drop the concept of certain power
   domains not being able to lose context.'? It's not required for 4.4-rt wakeup
   and introduces build warnings.

Test1: cyclictest + hackbench
# ./cyclictest -D120s -m -n -Sp98 -q
T: 0 (14999) P:98 I:1000 C: 120000 Min:      3 Act:    4 Avg:    5 Max:      21

Test2: cyclictest + hackbench
T: 0 (  151) P:98 I:1000 C: 120000 Min:      4 Act:   31 Avg:   32 Max:      61


----------- log 1 ----
/ # ./hackbench 
Running in process mode with 10 groups using 40 file descriptors each (== 400 tasks)
Each sender will pass 100 messages of 100 
[  205.565705] Unable to handle kernel paging request at virtual address ffefe378 
bytes
Unable to handle kernel paging request at virtual address ffefe378
pgd = ee8dc000
[ffefe378] *pgd=afffd861, *pte=00000000, *ppte=00000000
Internal error: Oops: 837 [#1] PREEMPT ARM
Modules linked in:
CPU: 0 PID: 111 Comm: hackbench Not tainted 4.4.0-rc6-rt1-00069-g17f26b6-dirty #15
Segmentation fault[  205.574708] Hardware name: Generic AM43 (Flattened Device Tree)
task: ee8e8580 ti: ee92e000 task.ti: ee92e000
PC is at cpu_ca8_set_pte_ext+0x0/0x58
LR is at wp_page_copy+0x1ec/0x3c0
pc : [<c001c8e4>]    lr : [<c00da3a0>]    psr: 00000013
sp : ee92fd68  ip : ee92fd68  fp : ee92fdb4
r10: ffefe378  r9 : ee8a8540  r8 : b6ede000
r7 : 8942734f  r6 : ee8af000  r5 : ef84657c  r4 : ef9369c0
r3 : c001c8e4  r2 : 00000800  r1 : 8942734f  r0 : ffefe378
Flags: nzcv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment user
Control: 10c53c7d  Table: ae8dc059  DAC: 00000055
Process hackbench (pid: 111, stack limit = 0xee92e210)
Stack: (0xee92fd68 to 0xee930000)
fd60:                   ee92fd84 c07bf980 000000de c07bf980 ee8a8574 0008fef0
fd80: c0019c44 ef04e800 00000000 ef9369c0 ee8af000 8fef03cf b6ede000 ffefe378
fda0: ee8a8540 b6ede000 ee92fe1c ee92fdb8 c00dbc10 c00da1c0 ee8dedb8 8fef03cf
fdc0: ef9369c0 ef6f9000 0000004f c0776efc 000000de c07bf980 ee92fdfc ee92fde8
fde0: c00d994c c0572e44 effcd098 ef6f9000 ee92fe1c ee8a8574 ee8af000 ee8a8540
fe00: c0776efc 8fef03cf c07bf980 b6ede000 ee92fea4 ee92fe20 c00dd8d0 c00dbb68
fe20: ee8dedb8 ee8a8574 8fef03cf 00000040 ffefe000 b6e4f000 b6eb6000 ffefe13c
fe40: 000000de ffefe378 ffefe000 00000040 ee8dedb8 00000055 ee92ffb0 00000054
fe60: 0000005e b6e40000 ee8a8588 ee8e8580 b6ede1f8 ee8e8580 ee92fea4 ee92ffb0
fe80: ee8e8580 0000081f ee8a8540 b6ede1f8 ee8af000 ee8a8588 ee92fefc ee92fea8
fea0: c0573c48 c00dce84 00000000 00000054 00000000 c076aa0c 00000005 00000000
fec0: 00000000 00000800 00000000 00000055 ee92fefc c076a8ac 0000081f c05739d8
fee0: b6ede1f8 ee92ffb0 0000006e 0000006e ee92ffac ee92ff00 c00092a8 c05739e4
ff00: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
ff20: 00000000 c02aece0 80000113 ffffffff ee92ff7c 00000000 ee92ffac ee92ff48
ff40: c0573318 c0009274 b6f07068 beffffff 0000006f 00000000 beffffff b6f07068
ff60: 00000000 00000000 00000000 00000000 00000000 ee92ffac f7f0706b ee92ff98
ff80: c0050a80 c02aece0 80000113 b6e4fdce 00000030 ffffffff 10c53c7d 10c53c7d
ffa0: 00000000 ee92ffb0 c0573620 c0009274 00000000 00000004 0000006f b6ede1f8
ffc0: 00000000 be860c50 b6f07000 be860c70 b6f074c0 0000006e 0000006e b6ec0000
ffe0: 00000078 be860c50 b6e4fdaf b6e4fdce 00000030 ffffffff 00000000 00000000
Backtrace: 
[<c00da1b4>] (wp_page_copy) from [<c00dbc10>] (do_wp_page+0xb4/0x574)
 r10:b6ede000 r9:ee8a8540 r8:ffefe378 r7:b6ede000 r6:8fef03cf r5:ee8af000
 r4:ef9369c0
[<c00dbb5c>] (do_wp_page) from [<c00dd8d0>] (handle_mm_fault+0xa58/0x1058)
 r10:b6ede000 r9:c07bf980 r8:8fef03cf r7:c0776efc r6:ee8a8540 r5:ee8af000
 r4:ee8a8574
[<c00dce78>] (handle_mm_fault) from [<c0573c48>] (do_page_fault+0x270/0x43c)
 r10:ee8a8588 r9:ee8af000 r8:b6ede1f8 r7:ee8a8540 r6:0000081f r5:ee8e8580
 r4:ee92ffb0
[<c05739d8>] (do_page_fault) from [<c00092a8>] (do_DataAbort+0x40/0xc0)
 r10:0000006e r9:0000006e r8:ee92ffb0 r7:b6ede1f8 r6:c05739d8 r5:0000081f
 r4:c076a8ac
[<c0009268>] (do_DataAbort) from [<c0573620>] (__dabt_usr+0x40/0x60)
Exception stack(0xee92ffb0 to 0xee92fff8)
ffa0:                                     00000000 00000004 0000006f b6ede1f8
ffc0: 00000000 be860c50 b6f07000 be860c70 b6f074c0 0000006e 0000006e b6ec0000
ffe0: 00000078 be860c50 b6e4fdaf b6e4fdce 00000030 ffffffff
 r8:10c53c7d r7:10c53c7d r6:ffffffff r5:00000030 r4:b6e4fdce
Code: f57ff06f ee020f10 f57ff06f e12fff1e (e5801000) 
---[ end trace 0000000000000002 ]---

Grygorii Strashko (2):
  [4.4-rt] kernel/sched/core.c: UP: fix 'implicit declaration of
    function 'update_migrate_disable'
  [4.4-rt1] kernel/time/timer.c: UP: fix undefined reference to
    `del_timer_sync'

 kernel/sched/core.c | 18 +++++++++---------
 kernel/time/timer.c |  2 +-
 2 files changed, 10 insertions(+), 10 deletions(-)

-- 
2.6.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [next] | [standalone]


#1298721 — [4.4-rc6-rt1 PATCH 2/2] kernel/time/timer.c: UP: fix undefined reference to `del_timer_sync'

FromGrygorii Strashko <grygorii.strashko@ti.com>
Date2015-12-28 19:10 +0100
Subject[4.4-rc6-rt1 PATCH 2/2] kernel/time/timer.c: UP: fix undefined reference to `del_timer_sync'
Message-ID<qKKp4-5Hi-7@gated-at.bofh.it>
In reply to#1298720
This patch fixes below build errors in case SMP=n:

drivers/built-in.o: In function `fbcon_del_cursor_timer':
/home/x0174654/kernel.org/linux-master/linux/drivers/video/console/fbcon.c:433: undefined reference to `del_timer_sync'
drivers/built-in.o: In function `sysrq_disconnect':
/home/x0174654/kernel.org/linux-master/linux/drivers/tty/sysrq.c:928: undefined reference to `del_timer_sync'
drivers/built-in.o: In function `kd_mksound':
/home/x0174654/kernel.org/linux-master/linux/drivers/tty/vt/keyboard.c:256: undefined reference to `del_timer_sync'
drivers/built-in.o: In function `do_blank_screen':
/home/x0174654/kernel.org/linux-master/linux/drivers/tty/vt/vt.c:3842: undefined reference to `del_timer_sync'
drivers/built-in.o: In function `univ8250_release_irq':
/home/x0174654/kernel.org/linux-master/linux/drivers/tty/serial/8250/8250_core.c:365: undefined reference to `del_timer_sync'
drivers/built-in.o:/home/x0174654/kernel.org/linux-master/linux/drivers/base/power/wakeup.c:114: more undefined references to `del_timer_sync' follow

Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>
---
 kernel/time/timer.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/kernel/time/timer.c b/kernel/time/timer.c
index c3314fc..a460cbb 100644
--- a/kernel/time/timer.c
+++ b/kernel/time/timer.c
@@ -1118,7 +1118,7 @@ int try_to_del_timer_sync(struct timer_list *timer)
 }
 EXPORT_SYMBOL(try_to_del_timer_sync);
 
-#ifdef CONFIG_SMP
+#if defined(CONFIG_SMP) || defined(CONFIG_PREEMPT_RT_FULL)
 /**
  * del_timer_sync - deactivate a timer and wait for the handler to finish.
  * @timer: the timer to be deactivated
-- 
2.6.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1298722 — [4.4-rc6-rt1 PATCH 1/2] kernel/sched/core.c: UP: fix 'implicit declaration of function 'update_migrate_disable'

FromGrygorii Strashko <grygorii.strashko@ti.com>
Date2015-12-28 19:10 +0100
Subject[4.4-rc6-rt1 PATCH 1/2] kernel/sched/core.c: UP: fix 'implicit declaration of function 'update_migrate_disable'
Message-ID<qKKp4-5Hi-11@gated-at.bofh.it>
In reply to#1298720
This patch fixes below build error for case SMP=n:

kernel/sched/core.c: In function '__schedule':
kernel/sched/core.c:3400:2: error: implicit declaration of function 'update_migrate_disable' [-Werror=implicit-function-declaration]
  update_migrate_disable(prev);
  ^

Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>
---
 kernel/sched/core.c | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)

diff --git a/kernel/sched/core.c b/kernel/sched/core.c
index 8d9f6a6..c10ac78 100644
--- a/kernel/sched/core.c
+++ b/kernel/sched/core.c
@@ -1092,6 +1092,15 @@ void check_preempt_curr(struct rq *rq, struct task_struct *p, int flags)
 		rq_clock_skip_update(rq, true);
 }
 
+#if defined(CONFIG_PREEMPT_RT_FULL) && defined(CONFIG_SMP)
+#define MIGRATE_DISABLE_SET_AFFIN	(1<<30) /* Can't make a negative */
+#define migrate_disabled_updated(p)	((p)->migrate_disable & MIGRATE_DISABLE_SET_AFFIN)
+#define migrate_disable_count(p)	((p)->migrate_disable & ~MIGRATE_DISABLE_SET_AFFIN)
+#else
+static inline void update_migrate_disable(struct task_struct *p) { }
+#define migrate_disabled_updated(p)		0
+#endif
+
 #ifdef CONFIG_SMP
 /*
  * This is how migration works:
@@ -1209,15 +1218,6 @@ void set_cpus_allowed_common(struct task_struct *p, const struct cpumask *new_ma
 	p->nr_cpus_allowed = cpumask_weight(new_mask);
 }
 
-#if defined(CONFIG_PREEMPT_RT_FULL) && defined(CONFIG_SMP)
-#define MIGRATE_DISABLE_SET_AFFIN	(1<<30) /* Can't make a negative */
-#define migrate_disabled_updated(p)	((p)->migrate_disable & MIGRATE_DISABLE_SET_AFFIN)
-#define migrate_disable_count(p)	((p)->migrate_disable & ~MIGRATE_DISABLE_SET_AFFIN)
-#else
-static inline void update_migrate_disable(struct task_struct *p) { }
-#define migrate_disabled_updated(p)		0
-#endif
-
 void do_set_cpus_allowed(struct task_struct *p, const struct cpumask *new_mask)
 {
 	struct rq *rq = task_rq(p);
-- 
2.6.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web