* [PATCH RT 0/3] Linux 3.12.15-rt26-rc1
@ 2014-05-01 0:47 Steven Rostedt
2014-05-01 0:47 ` [PATCH RT 1/3] rt: Move migrate_disable up in trylocks Steven Rostedt
` (2 more replies)
0 siblings, 3 replies; 7+ messages in thread
From: Steven Rostedt @ 2014-05-01 0:47 UTC (permalink / raw)
To: linux-kernel, linux-rt-users
Cc: Thomas Gleixner, Carsten Emde, Sebastian Andrzej Siewior,
John Kacur, Paul Gortmaker
Dear RT Folks,
The 3.12-rt kernel is entering the stable phase. But instead of
just pulling the last development version into stable, there
were a few bugs that needed to be fixed first. The 3.12.15-rt26
will go through an rc phase before it is officially released as
stable.
This is the RT stable review cycle of patch 3.12.15-rt26-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 5/2/2014.
Enjoy,
-- Steve
To build 3.12.15-rt26-rc1 directly, the following patches should be applied:
http://www.kernel.org/pub/linux/kernel/v3.x/linux-3.12.tar.xz
http://www.kernel.org/pub/linux/kernel/v3.x/patch-3.12.15.xz
http://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patch-3.12.15-rt26-rc1.patch.xz
You can also build from 3.12.15-rt25 by applying the incremental patch:
http://www.kernel.org/pub/linux/kernel/projects/rt/3.12/incr/patch-3.12.15-rt25-rt26-rc1.patch.xz
Changes from 3.12.15-rt25:
---
Steven Rostedt (1):
rt: Move migrate_disable up in trylocks
Steven Rostedt (Red Hat) (2):
net: gianfar: Fix missing return of gfar_clean_tx_ring()
Linux 3.12.15-rt26-rc1
----
drivers/net/ethernet/freescale/gianfar.c | 1 +
kernel/rt.c | 20 ++++++++++++--------
localversion-rt | 2 +-
3 files changed, 14 insertions(+), 9 deletions(-)
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH RT 1/3] rt: Move migrate_disable up in trylocks
2014-05-01 0:47 [PATCH RT 0/3] Linux 3.12.15-rt26-rc1 Steven Rostedt
@ 2014-05-01 0:47 ` Steven Rostedt
2014-05-02 7:11 ` Sebastian Andrzej Siewior
2014-05-02 15:31 ` Sebastian Andrzej Siewior
2014-05-01 0:47 ` [PATCH RT 2/3] net: gianfar: Fix missing return of gfar_clean_tx_ring() Steven Rostedt
2014-05-01 0:48 ` [PATCH RT 3/3] Linux 3.12.15-rt26-rc1 Steven Rostedt
2 siblings, 2 replies; 7+ messages in thread
From: Steven Rostedt @ 2014-05-01 0:47 UTC (permalink / raw)
To: linux-kernel, linux-rt-users
Cc: Thomas Gleixner, Carsten Emde, Sebastian Andrzej Siewior,
John Kacur, Paul Gortmaker, Mike Galbraith, Nicholas Mc Guire,
Clark Williams
[-- Attachment #1: 0001-rt-Move-migrate_disable-up-in-trylocks.patch --]
[-- Type: text/plain, Size: 2105 bytes --]
3.12.15-rt26-rc1 stable review patch.
If anyone has any objections, please let me know.
------------------
From: Steven Rostedt <rostedt@goodmis.org>
The changes to move the migrate_disable() down in the trylocks()
caused race conditions to appear in the cpu hotplug code. The
migrate disables must be done before any of the rtmutexes are
taken, otherwise a lock may be held that prevents hotplug from
moving forward.
Link: http://lkml.kernel.org/r/20140429201308.63292691@gandalf.local.home
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
Cc: Mike Galbraith <umgwanakikbuti@gmail.com>
Cc: Nicholas Mc Guire <der.herr@hofr.at>
Cc: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Cc: linux-rt-users <linux-rt-users@vger.kernel.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: John Kacur <jkacur@redhat.com>
Cc: Clark Williams <williams@redhat.com>
---
kernel/rt.c | 20 ++++++++++++--------
1 file changed, 12 insertions(+), 8 deletions(-)
diff --git a/kernel/rt.c b/kernel/rt.c
index 5d17727..5f44def 100644
--- a/kernel/rt.c
+++ b/kernel/rt.c
@@ -180,12 +180,15 @@ EXPORT_SYMBOL(_mutex_unlock);
*/
int __lockfunc rt_write_trylock(rwlock_t *rwlock)
{
- int ret = rt_mutex_trylock(&rwlock->lock);
+ int ret;
+
+ migrate_disable();
+ ret = rt_mutex_trylock(&rwlock->lock);
- if (ret) {
+ if (ret)
rwlock_acquire(&rwlock->dep_map, 0, 1, _RET_IP_);
- migrate_disable();
- }
+ else
+ migrate_enable();
return ret;
}
@@ -212,11 +215,12 @@ int __lockfunc rt_read_trylock(rwlock_t *rwlock)
* write locked.
*/
if (rt_mutex_owner(lock) != current) {
+ migrate_disable();
ret = rt_mutex_trylock(lock);
- if (ret) {
+ if (ret)
rwlock_acquire(&rwlock->dep_map, 0, 1, _RET_IP_);
- migrate_disable();
- }
+ else
+ migrate_enable();
} else if (!rwlock->read_depth) {
ret = 0;
}
@@ -245,8 +249,8 @@ void __lockfunc rt_read_lock(rwlock_t *rwlock)
*/
if (rt_mutex_owner(lock) != current) {
rwlock_acquire(&rwlock->dep_map, 0, 0, _RET_IP_);
- __rt_spin_lock(lock);
migrate_disable();
+ __rt_spin_lock(lock);
}
rwlock->read_depth++;
}
--
1.8.5.3
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH RT 2/3] net: gianfar: Fix missing return of gfar_clean_tx_ring()
2014-05-01 0:47 [PATCH RT 0/3] Linux 3.12.15-rt26-rc1 Steven Rostedt
2014-05-01 0:47 ` [PATCH RT 1/3] rt: Move migrate_disable up in trylocks Steven Rostedt
@ 2014-05-01 0:47 ` Steven Rostedt
2014-05-01 0:48 ` [PATCH RT 3/3] Linux 3.12.15-rt26-rc1 Steven Rostedt
2 siblings, 0 replies; 7+ messages in thread
From: Steven Rostedt @ 2014-05-01 0:47 UTC (permalink / raw)
To: linux-kernel, linux-rt-users
Cc: Thomas Gleixner, Carsten Emde, Sebastian Andrzej Siewior,
John Kacur, Paul Gortmaker
[-- Attachment #1: 0002-net-gianfar-Fix-missing-return-of-gfar_clean_tx_ring.patch --]
[-- Type: text/plain, Size: 1131 bytes --]
3.12.15-rt26-rc1 stable review patch.
If anyone has any objections, please let me know.
------------------
From: "Steven Rostedt (Red Hat)" <rostedt@goodmis.org>
The patch "net: gianfar: do not try to cleanup TX packets if they are
not done" for 3.12-rt left out the return value for gfar_clean_tx_ring().
This would cause an error when building this module. Note, this module
does not build on x86 and was not tested because of that.
Reported-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
---
drivers/net/ethernet/freescale/gianfar.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/net/ethernet/freescale/gianfar.c b/drivers/net/ethernet/freescale/gianfar.c
index 091945c..df27493 100644
--- a/drivers/net/ethernet/freescale/gianfar.c
+++ b/drivers/net/ethernet/freescale/gianfar.c
@@ -2615,6 +2615,7 @@ static int gfar_clean_tx_ring(struct gfar_priv_tx_q *tx_queue)
tx_queue->dirty_tx = bdp;
netdev_tx_completed_queue(txq, howmany, bytes_sent);
+ return howmany;
}
static void gfar_schedule_cleanup(struct gfar_priv_grp *gfargrp)
--
1.8.5.3
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH RT 3/3] Linux 3.12.15-rt26-rc1
2014-05-01 0:47 [PATCH RT 0/3] Linux 3.12.15-rt26-rc1 Steven Rostedt
2014-05-01 0:47 ` [PATCH RT 1/3] rt: Move migrate_disable up in trylocks Steven Rostedt
2014-05-01 0:47 ` [PATCH RT 2/3] net: gianfar: Fix missing return of gfar_clean_tx_ring() Steven Rostedt
@ 2014-05-01 0:48 ` Steven Rostedt
2 siblings, 0 replies; 7+ messages in thread
From: Steven Rostedt @ 2014-05-01 0:48 UTC (permalink / raw)
To: linux-kernel, linux-rt-users
Cc: Thomas Gleixner, Carsten Emde, Sebastian Andrzej Siewior,
John Kacur, Paul Gortmaker
[-- Attachment #1: 0003-Linux-3.12.15-rt26-rc1.patch --]
[-- Type: text/plain, Size: 406 bytes --]
3.12.15-rt26-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 c5b71f9..02556f4 100644
--- a/localversion-rt
+++ b/localversion-rt
@@ -1 +1 @@
--rt25
+-rt26-rc1
--
1.8.5.3
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH RT 1/3] rt: Move migrate_disable up in trylocks
2014-05-01 0:47 ` [PATCH RT 1/3] rt: Move migrate_disable up in trylocks Steven Rostedt
@ 2014-05-02 7:11 ` Sebastian Andrzej Siewior
2014-05-02 13:06 ` Steven Rostedt
2014-05-02 15:31 ` Sebastian Andrzej Siewior
1 sibling, 1 reply; 7+ messages in thread
From: Sebastian Andrzej Siewior @ 2014-05-02 7:11 UTC (permalink / raw)
To: Steven Rostedt, linux-kernel, linux-rt-users
Cc: Thomas Gleixner, Carsten Emde, John Kacur, Paul Gortmaker,
Mike Galbraith, Nicholas Mc Guire, Clark Williams
On 05/01/2014 02:47 AM, Steven Rostedt wrote:
Could this wait until it appears in the development release?
Sebastian
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH RT 1/3] rt: Move migrate_disable up in trylocks
2014-05-02 7:11 ` Sebastian Andrzej Siewior
@ 2014-05-02 13:06 ` Steven Rostedt
0 siblings, 0 replies; 7+ messages in thread
From: Steven Rostedt @ 2014-05-02 13:06 UTC (permalink / raw)
To: Sebastian Andrzej Siewior
Cc: linux-kernel, linux-rt-users, Thomas Gleixner, Carsten Emde,
John Kacur, Paul Gortmaker, Mike Galbraith, Nicholas Mc Guire,
Clark Williams
On Fri, 02 May 2014 09:11:23 +0200
Sebastian Andrzej Siewior <bigeasy@linutronix.de> wrote:
> On 05/01/2014 02:47 AM, Steven Rostedt wrote:
>
> Could this wait until it appears in the development release?
I would need to delay the release then as I wont release a kernel that
fails the cpu stress test.
I don't have a problem with delaying this though.
-- Steve
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH RT 1/3] rt: Move migrate_disable up in trylocks
2014-05-01 0:47 ` [PATCH RT 1/3] rt: Move migrate_disable up in trylocks Steven Rostedt
2014-05-02 7:11 ` Sebastian Andrzej Siewior
@ 2014-05-02 15:31 ` Sebastian Andrzej Siewior
1 sibling, 0 replies; 7+ messages in thread
From: Sebastian Andrzej Siewior @ 2014-05-02 15:31 UTC (permalink / raw)
To: Steven Rostedt
Cc: linux-kernel, linux-rt-users, Thomas Gleixner, Carsten Emde,
John Kacur, Paul Gortmaker, Mike Galbraith, Nicholas Mc Guire,
Clark Williams
* Steven Rostedt | 2014-04-30 20:47:58 [-0400]:
>From: Steven Rostedt <rostedt@goodmis.org>
>
>The changes to move the migrate_disable() down in the trylocks()
>caused race conditions to appear in the cpu hotplug code. The
>migrate disables must be done before any of the rtmutexes are
>taken, otherwise a lock may be held that prevents hotplug from
>moving forward.
>
>Link: http://lkml.kernel.org/r/20140429201308.63292691@gandalf.local.home
Okay. I am taking a modified version (so it applies) of this into v3.14
tree. Mike also suggested to drop
migrate_disable-pushd-down-in-atomic_dec_and_spin_lo.patch because we
which is basicaly the some thing. And then we have
migrate_disable-pushd-down-in-rt_spin_trylock_irqsav.patch which we
could drop as well for the same reason.
Sebastian
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2014-05-02 15:31 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-05-01 0:47 [PATCH RT 0/3] Linux 3.12.15-rt26-rc1 Steven Rostedt
2014-05-01 0:47 ` [PATCH RT 1/3] rt: Move migrate_disable up in trylocks Steven Rostedt
2014-05-02 7:11 ` Sebastian Andrzej Siewior
2014-05-02 13:06 ` Steven Rostedt
2014-05-02 15:31 ` Sebastian Andrzej Siewior
2014-05-01 0:47 ` [PATCH RT 2/3] net: gianfar: Fix missing return of gfar_clean_tx_ring() Steven Rostedt
2014-05-01 0:48 ` [PATCH RT 3/3] Linux 3.12.15-rt26-rc1 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).