* [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: [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
* 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
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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.