* [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
* 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
* [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
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).