* [PATCH RT 0/5] Linux 3.4.69-rt86-rc1
@ 2013-11-21 18:41 Steven Rostedt
2013-11-21 18:42 ` [PATCH RT 1/5] genirq: Set the irq thread policy without checking CAP_SYS_NICE Steven Rostedt
` (5 more replies)
0 siblings, 6 replies; 8+ messages in thread
From: Steven Rostedt @ 2013-11-21 18:41 UTC (permalink / raw)
To: linux-kernel, linux-rt-users
Cc: Thomas Gleixner, Carsten Emde, Sebastian Andrzej Siewior,
John Kacur
Dear RT Folks,
This is the RT stable review cycle of patch 3.4.69-rt86-rc1.
Please scream at me if I messed something up. Please test the patches too.
The -rc release will be uploaded to kernel.org and will be deleted when
the final release is out. This is just a review release (or release candidate).
The pre-releases will not be pushed to the git repository, only the
final release is.
If all goes well, this patch will be converted to the next main release
on 11/25/2013.
Enjoy,
-- Steve
To build 3.4.69-rt86-rc1 directly, the following patches should be applied:
http://www.kernel.org/pub/linux/kernel/v3.x/linux-3.4.tar.xz
http://www.kernel.org/pub/linux/kernel/v3.x/patch-3.4.69.xz
http://www.kernel.org/pub/linux/kernel/projects/rt/3.4/patch-3.4.69-rt86-rc1.patch.xz
You can also build from 3.4.69-rt85 by applying the incremental patch:
http://www.kernel.org/pub/linux/kernel/projects/rt/3.4/incr/patch-3.4.69-rt85-rt86-rc1.patch.xz
Changes from 3.4.69-rt85:
---
Mike Galbraith (1):
hwlat-detector: Don't ignore threshold module parameter
Sebastian Andrzej Siewior (1):
drm: remove preempt_disable() from drm_calc_vbltimestamp_from_scanoutpos()
Steven Rostedt (Red Hat) (1):
Linux 3.4.69-rt86-rc1
Thomas Pfaff (1):
genirq: Set the irq thread policy without checking CAP_SYS_NICE
Yang Shi (1):
mm/memcontrol: Don't call schedule_work_on in preemption disabled context
----
drivers/gpu/drm/drm_irq.c | 7 -------
drivers/misc/hwlat_detector.c | 2 +-
kernel/irq/manage.c | 2 +-
localversion-rt | 2 +-
mm/memcontrol.c | 4 ++--
5 files changed, 5 insertions(+), 12 deletions(-)
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH RT 1/5] genirq: Set the irq thread policy without checking CAP_SYS_NICE
2013-11-21 18:41 [PATCH RT 0/5] Linux 3.4.69-rt86-rc1 Steven Rostedt
@ 2013-11-21 18:42 ` Steven Rostedt
2013-11-21 18:42 ` [PATCH RT 2/5] hwlat-detector: Dont ignore threshold module parameter Steven Rostedt
` (4 subsequent siblings)
5 siblings, 0 replies; 8+ messages in thread
From: Steven Rostedt @ 2013-11-21 18:42 UTC (permalink / raw)
To: linux-kernel, linux-rt-users
Cc: Thomas Gleixner, Carsten Emde, Sebastian Andrzej Siewior,
John Kacur, Ivo Sieben, Thomas Pfaff
[-- Attachment #1: 0001-genirq-Set-the-irq-thread-policy-without-checking-CA.patch --]
[-- Type: text/plain, Size: 1500 bytes --]
3.4.69-rt86-rc1 stable review patch.
If anyone has any objections, please let me know.
------------------
From: Thomas Pfaff <tpfaff@pcs.com>
In commit ee23871389 ("genirq: Set irq thread to RT priority on
creation") we moved the assigment of the thread's priority from the
thread's function into __setup_irq(). That function may run in user
context for instance if the user opens an UART node and then driver
calls requests in the ->open() callback. That user may not have
CAP_SYS_NICE and so the irq thread won't run with the SCHED_OTHER
policy.
This patch uses sched_setscheduler_nocheck() so we omit the CAP_SYS_NICE
check which is otherwise required for the SCHED_OTHER policy.
Cc: Ivo Sieben <meltedpianoman@gmail.com>
Cc: stable@vger.kernel.org
Cc: stable-rt@vger.kernel.org
Signed-off-by: Thomas Pfaff <tpfaff@pcs.com>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
[bigeasy: rewrite the changelog]
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
---
kernel/irq/manage.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/kernel/irq/manage.c b/kernel/irq/manage.c
index a6bea19..30211a7 100644
--- a/kernel/irq/manage.c
+++ b/kernel/irq/manage.c
@@ -1024,7 +1024,7 @@ __setup_irq(unsigned int irq, struct irq_desc *desc, struct irqaction *new)
goto out_mput;
}
- sched_setscheduler(t, SCHED_FIFO, ¶m);
+ sched_setscheduler_nocheck(t, SCHED_FIFO, ¶m);
/*
* We keep the reference to the task struct even if
--
1.8.4.rc3
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH RT 2/5] hwlat-detector: Dont ignore threshold module parameter
2013-11-21 18:41 [PATCH RT 0/5] Linux 3.4.69-rt86-rc1 Steven Rostedt
2013-11-21 18:42 ` [PATCH RT 1/5] genirq: Set the irq thread policy without checking CAP_SYS_NICE Steven Rostedt
@ 2013-11-21 18:42 ` Steven Rostedt
2013-11-21 18:42 ` [PATCH RT 3/5] mm/memcontrol: Dont call schedule_work_on in preemption disabled context Steven Rostedt
` (3 subsequent siblings)
5 siblings, 0 replies; 8+ messages in thread
From: Steven Rostedt @ 2013-11-21 18:42 UTC (permalink / raw)
To: linux-kernel, linux-rt-users
Cc: Thomas Gleixner, Carsten Emde, Sebastian Andrzej Siewior,
John Kacur, Mike Galbraith
[-- Attachment #1: 0002-hwlat-detector-Don-t-ignore-threshold-module-paramet.patch --]
[-- Type: text/plain, Size: 1093 bytes --]
3.4.69-rt86-rc1 stable review patch.
If anyone has any objections, please let me know.
------------------
From: Mike Galbraith <bitbucket@online.de>
If the user specified a threshold at module load time, use it.
Cc: stable-rt@vger.kernel.org
Acked-by: Steven Rostedt <rostedt@goodmis.org>
Signed-off-by: Mike Galbraith <bitbucket@online.de>
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
---
drivers/misc/hwlat_detector.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/misc/hwlat_detector.c b/drivers/misc/hwlat_detector.c
index 6f61d5f..d2676b8 100644
--- a/drivers/misc/hwlat_detector.c
+++ b/drivers/misc/hwlat_detector.c
@@ -413,7 +413,7 @@ static int init_stats(void)
goto out;
__reset_stats();
- data.threshold = DEFAULT_LAT_THRESHOLD; /* threshold us */
+ data.threshold = threshold ?: DEFAULT_LAT_THRESHOLD; /* threshold us */
data.sample_window = DEFAULT_SAMPLE_WINDOW; /* window us */
data.sample_width = DEFAULT_SAMPLE_WIDTH; /* width us */
--
1.8.4.rc3
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH RT 3/5] mm/memcontrol: Dont call schedule_work_on in preemption disabled context
2013-11-21 18:41 [PATCH RT 0/5] Linux 3.4.69-rt86-rc1 Steven Rostedt
2013-11-21 18:42 ` [PATCH RT 1/5] genirq: Set the irq thread policy without checking CAP_SYS_NICE Steven Rostedt
2013-11-21 18:42 ` [PATCH RT 2/5] hwlat-detector: Dont ignore threshold module parameter Steven Rostedt
@ 2013-11-21 18:42 ` Steven Rostedt
2013-11-21 18:42 ` [PATCH RT 4/5] drm: remove preempt_disable() from drm_calc_vbltimestamp_from_scanoutpos() Steven Rostedt
` (2 subsequent siblings)
5 siblings, 0 replies; 8+ messages in thread
From: Steven Rostedt @ 2013-11-21 18:42 UTC (permalink / raw)
To: linux-kernel, linux-rt-users
Cc: Thomas Gleixner, Carsten Emde, Sebastian Andrzej Siewior,
John Kacur, Yang Shi
[-- Attachment #1: 0003-mm-memcontrol-Don-t-call-schedule_work_on-in-preempt.patch --]
[-- Type: text/plain, Size: 2866 bytes --]
3.4.69-rt86-rc1 stable review patch.
If anyone has any objections, please let me know.
------------------
From: Yang Shi <yang.shi@windriver.com>
The following trace is triggered when running ltp oom test cases:
BUG: sleeping function called from invalid context at kernel/rtmutex.c:659
in_atomic(): 1, irqs_disabled(): 0, pid: 17188, name: oom03
Preemption disabled at:[<ffffffff8112ba70>] mem_cgroup_reclaim+0x90/0xe0
CPU: 2 PID: 17188 Comm: oom03 Not tainted 3.10.10-rt3 #2
Hardware name: Intel Corporation Calpella platform/MATXM-CORE-411-B, BIOS 4.6.3 08/18/2010
ffff88007684d730 ffff880070df9b58 ffffffff8169918d ffff880070df9b70
ffffffff8106db31 ffff88007688b4a0 ffff880070df9b88 ffffffff8169d9c0
ffff88007688b4a0 ffff880070df9bc8 ffffffff81059da1 0000000170df9bb0
Call Trace:
[<ffffffff8169918d>] dump_stack+0x19/0x1b
[<ffffffff8106db31>] __might_sleep+0xf1/0x170
[<ffffffff8169d9c0>] rt_spin_lock+0x20/0x50
[<ffffffff81059da1>] queue_work_on+0x61/0x100
[<ffffffff8112b361>] drain_all_stock+0xe1/0x1c0
[<ffffffff8112ba70>] mem_cgroup_reclaim+0x90/0xe0
[<ffffffff8112beda>] __mem_cgroup_try_charge+0x41a/0xc40
[<ffffffff810f1c91>] ? release_pages+0x1b1/0x1f0
[<ffffffff8106f200>] ? sched_exec+0x40/0xb0
[<ffffffff8112cc87>] mem_cgroup_charge_common+0x37/0x70
[<ffffffff8112e2c6>] mem_cgroup_newpage_charge+0x26/0x30
[<ffffffff8110af68>] handle_pte_fault+0x618/0x840
[<ffffffff8103ecf6>] ? unpin_current_cpu+0x16/0x70
[<ffffffff81070f94>] ? migrate_enable+0xd4/0x200
[<ffffffff8110cde5>] handle_mm_fault+0x145/0x1e0
[<ffffffff810301e1>] __do_page_fault+0x1a1/0x4c0
[<ffffffff8169c9eb>] ? preempt_schedule_irq+0x4b/0x70
[<ffffffff8169e3b7>] ? retint_kernel+0x37/0x40
[<ffffffff8103053e>] do_page_fault+0xe/0x10
[<ffffffff8169e4c2>] page_fault+0x22/0x30
So, to prevent schedule_work_on from being called in preempt disabled context,
replace the pair of get/put_cpu() to get/put_cpu_light().
Cc: stable-rt@vger.kernel.org
Signed-off-by: Yang Shi <yang.shi@windriver.com>
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
---
mm/memcontrol.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/mm/memcontrol.c b/mm/memcontrol.c
index 9c36442..107c0ba 100644
--- a/mm/memcontrol.c
+++ b/mm/memcontrol.c
@@ -2082,7 +2082,7 @@ static void drain_all_stock(struct mem_cgroup *root_memcg, bool sync)
/* Notify other cpus that system-wide "drain" is running */
get_online_cpus();
- curcpu = get_cpu();
+ curcpu = get_cpu_light();
for_each_online_cpu(cpu) {
struct memcg_stock_pcp *stock = &per_cpu(memcg_stock, cpu);
struct mem_cgroup *memcg;
@@ -2099,7 +2099,7 @@ static void drain_all_stock(struct mem_cgroup *root_memcg, bool sync)
schedule_work_on(cpu, &stock->work);
}
}
- put_cpu();
+ put_cpu_light();
if (!sync)
goto out;
--
1.8.4.rc3
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH RT 4/5] drm: remove preempt_disable() from drm_calc_vbltimestamp_from_scanoutpos()
2013-11-21 18:41 [PATCH RT 0/5] Linux 3.4.69-rt86-rc1 Steven Rostedt
` (2 preceding siblings ...)
2013-11-21 18:42 ` [PATCH RT 3/5] mm/memcontrol: Dont call schedule_work_on in preemption disabled context Steven Rostedt
@ 2013-11-21 18:42 ` Steven Rostedt
2013-11-21 18:42 ` [PATCH RT 5/5] Linux 3.4.69-rt86-rc1 Steven Rostedt
2013-12-02 13:32 ` [PATCH RT 0/5] " Tim Sander
5 siblings, 0 replies; 8+ messages in thread
From: Steven Rostedt @ 2013-11-21 18:42 UTC (permalink / raw)
To: linux-kernel, linux-rt-users
Cc: Thomas Gleixner, Carsten Emde, Sebastian Andrzej Siewior,
John Kacur, Luis Claudio R. Goncalves
[-- Attachment #1: 0004-drm-remove-preempt_disable-from-drm_calc_vbltimestam.patch --]
[-- Type: text/plain, Size: 2982 bytes --]
3.4.69-rt86-rc1 stable review patch.
If anyone has any objections, please let me know.
------------------
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Luis captured the following:
| BUG: sleeping function called from invalid context at kernel/rtmutex.c:659
| in_atomic(): 1, irqs_disabled(): 0, pid: 517, name: Xorg
| 2 locks held by Xorg/517:
| #0:
| (
| &dev->vbl_lock
| ){......}
| , at:
| [<ffffffffa0024c60>] drm_vblank_get+0x30/0x2b0 [drm]
| #1:
| (
| &dev->vblank_time_lock
| ){......}
| , at:
| [<ffffffffa0024ce1>] drm_vblank_get+0xb1/0x2b0 [drm]
| Preemption disabled at:
| [<ffffffffa008bc95>] i915_get_vblank_timestamp+0x45/0xa0 [i915]
| CPU: 3 PID: 517 Comm: Xorg Not tainted 3.10.10-rt7+ #5
| Call Trace:
| [<ffffffff8164b790>] dump_stack+0x19/0x1b
| [<ffffffff8107e62f>] __might_sleep+0xff/0x170
| [<ffffffff81651ac4>] rt_spin_lock+0x24/0x60
| [<ffffffffa0084e67>] i915_read32+0x27/0x170 [i915]
| [<ffffffffa008a591>] i915_pipe_enabled+0x31/0x40 [i915]
| [<ffffffffa008a6be>] i915_get_crtc_scanoutpos+0x3e/0x1b0 [i915]
| [<ffffffffa00245d4>] drm_calc_vbltimestamp_from_scanoutpos+0xf4/0x430 [drm]
| [<ffffffffa008bc95>] i915_get_vblank_timestamp+0x45/0xa0 [i915]
| [<ffffffffa0024998>] drm_get_last_vbltimestamp+0x48/0x70 [drm]
| [<ffffffffa0024db5>] drm_vblank_get+0x185/0x2b0 [drm]
| [<ffffffffa0025d03>] drm_wait_vblank+0x83/0x5d0 [drm]
| [<ffffffffa00212a2>] drm_ioctl+0x552/0x6a0 [drm]
| [<ffffffff811a0095>] do_vfs_ioctl+0x325/0x5b0
| [<ffffffff811a03a1>] SyS_ioctl+0x81/0xa0
| [<ffffffff8165a342>] tracesys+0xdd/0xe2
After a longer thread it was decided to drop the preempt_disable()/
enable() invocations which were meant for -RT and Mario Kleiner looks
for a replacement.
Cc: stable-rt@vger.kernel.org
Reported-By: Luis Claudio R. Goncalves <lclaudio@uudg.org>
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
---
drivers/gpu/drm/drm_irq.c | 7 -------
1 file changed, 7 deletions(-)
diff --git a/drivers/gpu/drm/drm_irq.c b/drivers/gpu/drm/drm_irq.c
index dc33ba5..07dfb99 100644
--- a/drivers/gpu/drm/drm_irq.c
+++ b/drivers/gpu/drm/drm_irq.c
@@ -619,11 +619,6 @@ int drm_calc_vbltimestamp_from_scanoutpos(struct drm_device *dev, int crtc,
* code gets preempted or delayed for some reason.
*/
for (i = 0; i < DRM_TIMESTAMP_MAXRETRIES; i++) {
- /* Disable preemption to make it very likely to
- * succeed in the first iteration even on PREEMPT_RT kernel.
- */
- preempt_disable();
-
/* Get system timestamp before query. */
do_gettimeofday(&stime);
@@ -633,8 +628,6 @@ int drm_calc_vbltimestamp_from_scanoutpos(struct drm_device *dev, int crtc,
/* Get system timestamp after query. */
do_gettimeofday(&raw_time);
- preempt_enable();
-
/* Return as no-op if scanout query unsupported or failed. */
if (!(vbl_status & DRM_SCANOUTPOS_VALID)) {
DRM_DEBUG("crtc %d : scanoutpos query failed [%d].\n",
--
1.8.4.rc3
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH RT 5/5] Linux 3.4.69-rt86-rc1
2013-11-21 18:41 [PATCH RT 0/5] Linux 3.4.69-rt86-rc1 Steven Rostedt
` (3 preceding siblings ...)
2013-11-21 18:42 ` [PATCH RT 4/5] drm: remove preempt_disable() from drm_calc_vbltimestamp_from_scanoutpos() Steven Rostedt
@ 2013-11-21 18:42 ` Steven Rostedt
2013-12-02 13:32 ` [PATCH RT 0/5] " Tim Sander
5 siblings, 0 replies; 8+ messages in thread
From: Steven Rostedt @ 2013-11-21 18:42 UTC (permalink / raw)
To: linux-kernel, linux-rt-users
Cc: Thomas Gleixner, Carsten Emde, Sebastian Andrzej Siewior,
John Kacur
[-- Attachment #1: 0005-Linux-3.4.69-rt86-rc1.patch --]
[-- Type: text/plain, Size: 407 bytes --]
3.4.69-rt86-rc1 stable review patch.
If anyone has any objections, please let me know.
------------------
From: "Steven Rostedt (Red Hat)" <rostedt@goodmis.org>
---
localversion-rt | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/localversion-rt b/localversion-rt
index 168858f..29dd2e2 100644
--- a/localversion-rt
+++ b/localversion-rt
@@ -1 +1 @@
--rt85
+-rt86-rc1
--
1.8.4.rc3
^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH RT 0/5] Linux 3.4.69-rt86-rc1
2013-11-21 18:41 [PATCH RT 0/5] Linux 3.4.69-rt86-rc1 Steven Rostedt
` (4 preceding siblings ...)
2013-11-21 18:42 ` [PATCH RT 5/5] Linux 3.4.69-rt86-rc1 Steven Rostedt
@ 2013-12-02 13:32 ` Tim Sander
2013-12-02 14:40 ` Steven Rostedt
5 siblings, 1 reply; 8+ messages in thread
From: Tim Sander @ 2013-12-02 13:32 UTC (permalink / raw)
To: Steven Rostedt
Cc: linux-kernel, linux-rt-users, Thomas Gleixner, Carsten Emde,
Sebastian Andrzej Siewior, John Kacur
Hi Steven
> This is the RT stable review cycle of patch 3.4.69-rt86-rc1.
Thanks for this release, unfortunatly i am only able to test this stuff in
indeterministic time slices... I am currently testing this stuff.
No news is good news.
> Please scream at me if I messed something up. Please test the patches too.
>
> The -rc release will be uploaded to kernel.org and will be deleted when
> the final release is out. This is just a review release (or release
> candidate).
>
> The pre-releases will not be pushed to the git repository, only the
> final release is.
>
> If all goes well, this patch will be converted to the next main release
> on 11/25/2013.
I don't want to nag you but as this date is in the past i just wanted to know
if anything has not gone well besides that the non-rc version is not
available? Which would be just a "cosmetic" issue.
Best regards
Tim
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH RT 0/5] Linux 3.4.69-rt86-rc1
2013-12-02 13:32 ` [PATCH RT 0/5] " Tim Sander
@ 2013-12-02 14:40 ` Steven Rostedt
0 siblings, 0 replies; 8+ messages in thread
From: Steven Rostedt @ 2013-12-02 14:40 UTC (permalink / raw)
To: Tim Sander
Cc: linux-kernel, linux-rt-users, Thomas Gleixner, Carsten Emde,
Sebastian Andrzej Siewior, John Kacur
On Mon, 02 Dec 2013 14:32:13 +0100
Tim Sander <tim@krieglstein.org> wrote:
> > If all goes well, this patch will be converted to the next main release
> > on 11/25/2013.
> I don't want to nag you but as this date is in the past i just wanted to know
> if anything has not gone well besides that the non-rc version is not
> available? Which would be just a "cosmetic" issue.
Nope, all went well, I just got side tracked by other things needing to
get done by Turkey day. Thanks for the reminder.
I'll push these out today.
-- Steve
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2013-12-02 14:40 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-11-21 18:41 [PATCH RT 0/5] Linux 3.4.69-rt86-rc1 Steven Rostedt
2013-11-21 18:42 ` [PATCH RT 1/5] genirq: Set the irq thread policy without checking CAP_SYS_NICE Steven Rostedt
2013-11-21 18:42 ` [PATCH RT 2/5] hwlat-detector: Dont ignore threshold module parameter Steven Rostedt
2013-11-21 18:42 ` [PATCH RT 3/5] mm/memcontrol: Dont call schedule_work_on in preemption disabled context Steven Rostedt
2013-11-21 18:42 ` [PATCH RT 4/5] drm: remove preempt_disable() from drm_calc_vbltimestamp_from_scanoutpos() Steven Rostedt
2013-11-21 18:42 ` [PATCH RT 5/5] Linux 3.4.69-rt86-rc1 Steven Rostedt
2013-12-02 13:32 ` [PATCH RT 0/5] " Tim Sander
2013-12-02 14:40 ` Steven Rostedt
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).