* [ANNOUNCE] v4.16.7-rt1
@ 2018-05-03 16:29 Sebastian Andrzej Siewior
2018-05-04 6:14 ` [patch-rt] sched,fair: Fix CFS bandwidth control lockdep DEADLOCK report Mike Galbraith
2018-05-09 21:45 ` [ANNOUNCE] v4.16.7-rt1 Bernhard Landauer
0 siblings, 2 replies; 6+ messages in thread
From: Sebastian Andrzej Siewior @ 2018-05-03 16:29 UTC (permalink / raw)
To: Thomas Gleixner; +Cc: LKML, linux-rt-users, Steven Rostedt
Dear RT folks!
I'm pleased to announce the v4.16.7-rt1 patch set.
Changes since v4.14.39-rt28:
- Rebase to v4.16
- The queue went through a big cleanup and reordering, so the patches
which belong together are not scattered all over the place.
The sections at the front of the series are patches which are either
upstream already (4.17), queued in a maintainer tree for 4.18, posted
and under discussion or just ready to be posted.
- A large section covers the recent rework of the *_nort/*_rt()
wrappers. Instead of trying to argue them upstream they have been made
obsolete by refactoring the code in which they have been used. There
are a few hard to solve leftovers, but non of them should survive.
- The cpu_chill() related try-lock-loop in dcache has been replaced
with a rework avoiding the loop. The rework was joint work by Al
Viro and John Ogness.
There are still a few cpu_chill() instances which are going to be
tackled in the next weeks.
- The AT91 timer patches have been mostly replaced with the "TCB timer
driver" patches by Alexandre Belloni.
- The latest version of the latency tracer patches which is aimed for 4.18
has been incorporated.
You can get this release via the git tree at:
git://git.kernel.org/pub/scm/linux/kernel/git/rt/linux-rt-devel.git v4.16.7-rt1
The RT patch against v4.16.7 can be found here:
https://cdn.kernel.org/pub/linux/kernel/projects/rt/4.16/older/patch-4.16.7-rt1.patch.xz
The split quilt queue is available at:
https://cdn.kernel.org/pub/linux/kernel/projects/rt/4.16/older/patches-4.16.7-rt1.tar.xz
Sebastian
^ permalink raw reply [flat|nested] 6+ messages in thread* [patch-rt] sched,fair: Fix CFS bandwidth control lockdep DEADLOCK report 2018-05-03 16:29 [ANNOUNCE] v4.16.7-rt1 Sebastian Andrzej Siewior @ 2018-05-04 6:14 ` Mike Galbraith 2018-05-04 14:48 ` Steven Rostedt 2018-05-09 21:45 ` [ANNOUNCE] v4.16.7-rt1 Bernhard Landauer 1 sibling, 1 reply; 6+ messages in thread From: Mike Galbraith @ 2018-05-04 6:14 UTC (permalink / raw) To: Sebastian Andrzej Siewior, Thomas Gleixner Cc: LKML, linux-rt-users, Steven Rostedt CFS bandwidth control yields the inversion gripe below, moving handling quells it. ======================================================== WARNING: possible irq lock inversion dependency detected 4.16.7-rt1-rt #2 Tainted: G E -------------------------------------------------------- sirq-hrtimer/0/15 just changed the state of lock: (&cfs_b->lock){+...}, at: [<000000009adb5cf7>] sched_cfs_period_timer+0x28/0x140 but this lock was taken by another, HARDIRQ-safe lock in the past: (&rq->lock){-...} and interrupts could create inverse lock ordering between them. other info that might help us debug this: Possible interrupt unsafe locking scenario: CPU0 CPU1 ---- ---- lock(&cfs_b->lock); local_irq_disable(); lock(&rq->lock); lock(&cfs_b->lock); <Interrupt> lock(&rq->lock); *** DEADLOCK *** 1 lock held by sirq-hrtimer/0/15: #0: (&per_cpu(local_softirq_locks[i], __cpu).lock){+.+.}, at: [<0000000061d5600a>] do_current_softirqs+0x170/0x660 the shortest dependencies between 2nd lock and 1st lock: -> (&rq->lock){-...} ops: 67919540 { IN-HARDIRQ-W at: _raw_spin_lock+0x38/0x50 scheduler_tick+0x4c/0x110 update_process_times+0x21/0x50 tick_periodic+0x2b/0x100 tick_handle_periodic+0x1f/0x60 timer_interrupt+0x14/0x20 __handle_irq_event_percpu+0x5f/0x3f0 handle_irq_event_percpu+0x37/0x70 handle_irq_event+0x37/0x60 handle_edge_irq+0xbe/0x1e0 handle_irq+0x1f/0x30 do_IRQ+0x65/0x130 ret_from_intr+0x0/0x22 timer_irq_works+0x60/0x10e setup_IO_APIC+0x620/0x7e3 x86_late_time_init+0x17/0x1c start_kernel+0x410/0x4b3 secondary_startup_64+0xa5/0xb0 INITIAL USE at: _raw_spin_lock_irqsave+0x4f/0x70 rq_attach_root+0x18/0xe0 sched_init+0x2ea/0x413 start_kernel+0x282/0x4b3 secondary_startup_64+0xa5/0xb0 } ... key at: [<000000000ab3ac7a>] __key.69727+0x0/0x8 ... acquired at: lock_acquire+0xbd/0x250 _raw_spin_lock+0x38/0x50 rq_online_fair+0x9a/0x190 set_rq_online+0x4c/0x60 rq_attach_root+0xac/0xe0 sched_init+0x2ea/0x413 start_kernel+0x282/0x4b3 secondary_startup_64+0xa5/0xb0 -> (&cfs_b->lock){+...} ops: 56 { HARDIRQ-ON-W at: _raw_spin_lock+0x38/0x50 sched_cfs_period_timer+0x28/0x140 __hrtimer_run_queues+0x10e/0x5f0 hrtimer_run_softirq+0x83/0xc0 do_current_softirqs+0x292/0x660 run_ksoftirqd+0x27/0x70 smpboot_thread_fn+0x27f/0x330 kthread+0x103/0x140 ret_from_fork+0x3a/0x50 INITIAL USE at: _raw_spin_lock+0x38/0x50 rq_online_fair+0x9a/0x190 set_rq_online+0x4c/0x60 rq_attach_root+0xac/0xe0 sched_init+0x2ea/0x413 start_kernel+0x282/0x4b3 secondary_startup_64+0xa5/0xb0 } ... key at: [<00000000bf5d5ec7>] __key.47691+0x0/0x8 ... acquired at: __lock_acquire+0x1e6/0x770 lock_acquire+0xbd/0x250 _raw_spin_lock+0x38/0x50 sched_cfs_period_timer+0x28/0x140 __hrtimer_run_queues+0x10e/0x5f0 hrtimer_run_softirq+0x83/0xc0 do_current_softirqs+0x292/0x660 run_ksoftirqd+0x27/0x70 smpboot_thread_fn+0x27f/0x330 kthread+0x103/0x140 ret_from_fork+0x3a/0x50 stack backtrace: CPU: 0 PID: 15 Comm: sirq-hrtimer/0 Tainted: G E 4.16.7-rt1-rt #2 Hardware name: MEDION MS-7848/MS-7848, BIOS M7848W08.20C 09/23/2013 Call Trace: dump_stack+0x78/0xab print_irq_inversion_bug.part.38+0x19f/0x1aa check_usage_backwards+0x11b/0x120 ? check_usage_forwards+0x130/0x130 mark_lock+0x17c/0x280 __lock_acquire+0x1e6/0x770 lock_acquire+0xbd/0x250 ? sched_cfs_period_timer+0x28/0x140 _raw_spin_lock+0x38/0x50 ? sched_cfs_period_timer+0x28/0x140 sched_cfs_period_timer+0x28/0x140 ? sched_cfs_slack_timer+0xc0/0xc0 __hrtimer_run_queues+0x10e/0x5f0 hrtimer_run_softirq+0x83/0xc0 do_current_softirqs+0x292/0x660 run_ksoftirqd+0x27/0x70 smpboot_thread_fn+0x27f/0x330 kthread+0x103/0x140 ? smpboot_register_percpu_thread_cpumask+0x100/0x100 ? kthread_delayed_work_timer_fn+0x90/0x90 ret_from_fork+0x3a/0x50 Signed-off-by: Mike Galbraith <efault@gmx.de> --- kernel/sched/fair.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) --- a/kernel/sched/fair.c +++ b/kernel/sched/fair.c @@ -5007,9 +5007,9 @@ void init_cfs_bandwidth(struct cfs_bandw cfs_b->period = ns_to_ktime(default_cfs_period()); INIT_LIST_HEAD(&cfs_b->throttled_cfs_rq); - hrtimer_init(&cfs_b->period_timer, CLOCK_MONOTONIC, HRTIMER_MODE_ABS_PINNED); + hrtimer_init(&cfs_b->period_timer, CLOCK_MONOTONIC, HRTIMER_MODE_ABS_PINNED_HARD); cfs_b->period_timer.function = sched_cfs_period_timer; - hrtimer_init(&cfs_b->slack_timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL); + hrtimer_init(&cfs_b->slack_timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL_HARD); cfs_b->slack_timer.function = sched_cfs_slack_timer; } ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [patch-rt] sched,fair: Fix CFS bandwidth control lockdep DEADLOCK report 2018-05-04 6:14 ` [patch-rt] sched,fair: Fix CFS bandwidth control lockdep DEADLOCK report Mike Galbraith @ 2018-05-04 14:48 ` Steven Rostedt 2018-05-15 16:45 ` Sebastian Andrzej Siewior 0 siblings, 1 reply; 6+ messages in thread From: Steven Rostedt @ 2018-05-04 14:48 UTC (permalink / raw) To: Mike Galbraith Cc: Sebastian Andrzej Siewior, Thomas Gleixner, LKML, linux-rt-users On Fri, 04 May 2018 08:14:38 +0200 Mike Galbraith <efault@gmx.de> wrote: > CFS bandwidth control yields the inversion gripe below, moving > handling quells it. > > ======================================================== > WARNING: possible irq lock inversion dependency detected > 4.16.7-rt1-rt #2 Tainted: G E > -------------------------------------------------------- > sirq-hrtimer/0/15 just changed the state of lock: > (&cfs_b->lock){+...}, at: [<000000009adb5cf7>] sched_cfs_period_timer+0x28/0x140 > but this lock was taken by another, HARDIRQ-safe lock in the past: > (&rq->lock){-...} > and interrupts could create inverse lock ordering between them. > other info that might help us debug this: > Possible interrupt unsafe locking scenario: > CPU0 CPU1 > ---- ---- > lock(&cfs_b->lock); > local_irq_disable(); > lock(&rq->lock); > lock(&cfs_b->lock); > <Interrupt> > lock(&rq->lock); > *** DEADLOCK *** > Signed-off-by: Mike Galbraith <efault@gmx.de> > --- > kernel/sched/fair.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > --- a/kernel/sched/fair.c > +++ b/kernel/sched/fair.c > @@ -5007,9 +5007,9 @@ void init_cfs_bandwidth(struct cfs_bandw > cfs_b->period = ns_to_ktime(default_cfs_period()); > > INIT_LIST_HEAD(&cfs_b->throttled_cfs_rq); > - hrtimer_init(&cfs_b->period_timer, CLOCK_MONOTONIC, HRTIMER_MODE_ABS_PINNED); > + hrtimer_init(&cfs_b->period_timer, CLOCK_MONOTONIC, HRTIMER_MODE_ABS_PINNED_HARD); > cfs_b->period_timer.function = sched_cfs_period_timer; > - hrtimer_init(&cfs_b->slack_timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL); > + hrtimer_init(&cfs_b->slack_timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL_HARD); Looks good to me. Acked-by: Steven Rostedt (VMware) <rostedt@goodmis.org> -- Steve > cfs_b->slack_timer.function = sched_cfs_slack_timer; > } > ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [patch-rt] sched,fair: Fix CFS bandwidth control lockdep DEADLOCK report 2018-05-04 14:48 ` Steven Rostedt @ 2018-05-15 16:45 ` Sebastian Andrzej Siewior 0 siblings, 0 replies; 6+ messages in thread From: Sebastian Andrzej Siewior @ 2018-05-15 16:45 UTC (permalink / raw) To: Steven Rostedt; +Cc: Mike Galbraith, Thomas Gleixner, LKML, linux-rt-users On 2018-05-04 10:48:02 [-0400], Steven Rostedt wrote: > On Fri, 04 May 2018 08:14:38 +0200 > Mike Galbraith <efault@gmx.de> wrote: > … > Looks good to me. > > Acked-by: Steven Rostedt (VMware) <rostedt@goodmis.org> trimmed commit message, tagged stable, applied. > -- Steve Sebastian ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [ANNOUNCE] v4.16.7-rt1 2018-05-03 16:29 [ANNOUNCE] v4.16.7-rt1 Sebastian Andrzej Siewior 2018-05-04 6:14 ` [patch-rt] sched,fair: Fix CFS bandwidth control lockdep DEADLOCK report Mike Galbraith @ 2018-05-09 21:45 ` Bernhard Landauer 2018-05-09 22:24 ` Bernhard Landauer 1 sibling, 1 reply; 6+ messages in thread From: Bernhard Landauer @ 2018-05-09 21:45 UTC (permalink / raw) To: Sebastian Andrzej Siewior, Thomas Gleixner Cc: LKML, linux-rt-users, Steven Rostedt On 03/05/18 18:29, Sebastian Andrzej Siewior wrote: > Dear RT folks! > > I'm pleased to announce the v4.16.7-rt1 patch set. > > Changes since v4.14.39-rt28: > > - Rebase to v4.16 > > - The queue went through a big cleanup and reordering, so the patches > which belong together are not scattered all over the place. > > The sections at the front of the series are patches which are either > upstream already (4.17), queued in a maintainer tree for 4.18, posted > and under discussion or just ready to be posted. > > - A large section covers the recent rework of the *_nort/*_rt() > wrappers. Instead of trying to argue them upstream they have been made > obsolete by refactoring the code in which they have been used. There > are a few hard to solve leftovers, but non of them should survive. > > - The cpu_chill() related try-lock-loop in dcache has been replaced > with a rework avoiding the loop. The rework was joint work by Al > Viro and John Ogness. > > There are still a few cpu_chill() instances which are going to be > tackled in the next weeks. > > - The AT91 timer patches have been mostly replaced with the "TCB timer > driver" patches by Alexandre Belloni. > > - The latest version of the latency tracer patches which is aimed for 4.18 > has been incorporated. > > You can get this release via the git tree at: > > git://git.kernel.org/pub/scm/linux/kernel/git/rt/linux-rt-devel.git v4.16.7-rt1 > > The RT patch against v4.16.7 can be found here: > > https://cdn.kernel.org/pub/linux/kernel/projects/rt/4.16/older/patch-4.16.7-rt1.patch.xz > > The split quilt queue is available at: > > https://cdn.kernel.org/pub/linux/kernel/projects/rt/4.16/older/patches-4.16.7-rt1.tar.xz > > Sebastian > -- > To unsubscribe from this list: send the line "unsubscribe linux-rt-users" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html When compiling 4.16.7-rt1 with gcc 8.1.0 I see tons of these warnings: warning: objtool: mISDN_FsmEvent()+0x27: sibling call from callable instruction with modified stack frame Any ideas what to make of these? regards Bernhard ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [ANNOUNCE] v4.16.7-rt1 2018-05-09 21:45 ` [ANNOUNCE] v4.16.7-rt1 Bernhard Landauer @ 2018-05-09 22:24 ` Bernhard Landauer 0 siblings, 0 replies; 6+ messages in thread From: Bernhard Landauer @ 2018-05-09 22:24 UTC (permalink / raw) To: Sebastian Andrzej Siewior, Thomas Gleixner Cc: LKML, linux-rt-users, Steven Rostedt On 09/05/18 23:45, Bernhard Landauer wrote: > When compiling 4.16.7-rt1 with gcc 8.1.0 I see tons of these warnings: > > warning: objtool: mISDN_FsmEvent()+0x27: sibling call from callable > instruction with modified stack frame > > Any ideas what to make of these? > > regards > Bernhard Ah ok, meanwhile I found this: https://lkml.org/lkml/2018/5/8/51 So I guess it's not really anything to worry about ;) ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2018-05-15 16:45 UTC | newest] Thread overview: 6+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2018-05-03 16:29 [ANNOUNCE] v4.16.7-rt1 Sebastian Andrzej Siewior 2018-05-04 6:14 ` [patch-rt] sched,fair: Fix CFS bandwidth control lockdep DEADLOCK report Mike Galbraith 2018-05-04 14:48 ` Steven Rostedt 2018-05-15 16:45 ` Sebastian Andrzej Siewior 2018-05-09 21:45 ` [ANNOUNCE] v4.16.7-rt1 Bernhard Landauer 2018-05-09 22:24 ` Bernhard Landauer
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).