* [ANNOUNCE] 3.6.11.1-rt32 @ 2013-03-29 3:25 Steven Rostedt 2013-04-02 1:37 ` Carsten Emde 2013-04-02 3:13 ` Carsten Emde 0 siblings, 2 replies; 7+ messages in thread From: Steven Rostedt @ 2013-03-29 3:25 UTC (permalink / raw) To: LKML, RT; +Cc: Thomas Gleixner, Carsten Emde, John Kacur Dear RT Folks, I'm pleased to announce the 3.6.11.1-rt32 stable release. This release is just an update to the new stable 3.6.11.1 version and no RT specific changes have been made. You can get this release via the git tree at: git://git.kernel.org/pub/scm/linux/kernel/git/rt/linux-stable-rt.git Head SHA1: 54cf98b026bf3bdcb5a3584061cdf2000ab423f3 Or to build 3.6.11.1-rt32 directly, the following patches should be applied: http://www.kernel.org/pub/linux/kernel/v3.x/linux-3.6.tar.xz http://www.kernel.org/pub/linux/kernel/v3.x/patch-3.6.11.xz http://www.kernel.org/pub/linux/kernel/projects/rt/3.6/stable/patch-3.6.11.1.xz http://www.kernel.org/pub/linux/kernel/projects/rt/3.6/patch-3.6.11.1-rt32.patch.xz Enjoy, -- Steve ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [ANNOUNCE] 3.6.11.1-rt32 2013-03-29 3:25 [ANNOUNCE] 3.6.11.1-rt32 Steven Rostedt @ 2013-04-02 1:37 ` Carsten Emde 2013-04-11 17:50 ` Steven Rostedt 2013-04-02 3:13 ` Carsten Emde 1 sibling, 1 reply; 7+ messages in thread From: Carsten Emde @ 2013-04-02 1:37 UTC (permalink / raw) To: Steven Rostedt; +Cc: LKML, RT, Thomas Gleixner, John Kacur Steven, > I'm pleased to announce the 3.6.11.1-rt32 stable release. Thank you. Your patch-3.6.11.1 additionally needs 23d3b8bfb8eb20e7d96afa09991e6a5ed1c83164 (net: qdisc busylock needs lockdep annotations) to avoid the compile error drivers/net/ppp/ppp_generic.c: In function ‘ppp_dev_init’: drivers/net/ppp/ppp_generic.c:1027:5: error: ‘struct net_device’ has no member named ‘qdisc_tx_busylock’ And since you apparently decided to backport 303c07db487be59ae9fda10600ea65ca11c21497 (ppp: set qdisc_tx_busylock to avoid LOCKDEP splat), you probably should also backport the related changes in bonding and team: - 49ee49202b4ac4be95d05e4bf24a9ac8b54c5528 (bonding: set qdisc_tx_busylock to avoid LOCKDEP splat) - b3c581d5d7130fc7f2eab9ab14c8de8882b42380 (team: set qdisc_tx_busylock to avoid LOCKDEP splat) -Carsten. ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [ANNOUNCE] 3.6.11.1-rt32 2013-04-02 1:37 ` Carsten Emde @ 2013-04-11 17:50 ` Steven Rostedt 0 siblings, 0 replies; 7+ messages in thread From: Steven Rostedt @ 2013-04-11 17:50 UTC (permalink / raw) To: Carsten Emde; +Cc: LKML, RT, Thomas Gleixner, John Kacur On Tue, 2013-04-02 at 03:37 +0200, Carsten Emde wrote: > Steven, > > > I'm pleased to announce the 3.6.11.1-rt32 stable release. > Thank you. > > Your patch-3.6.11.1 additionally needs > 23d3b8bfb8eb20e7d96afa09991e6a5ed1c83164 (net: qdisc busylock needs > lockdep annotations) to avoid the compile error > drivers/net/ppp/ppp_generic.c: In function ‘ppp_dev_init’: > drivers/net/ppp/ppp_generic.c:1027:5: error: ‘struct net_device’ has no > member named ‘qdisc_tx_busylock’ Hmm, I was able to do a full 3.6.11.1 allmodconfig without this (see below). But I'll add it anyway. > > And since you apparently decided to backport > 303c07db487be59ae9fda10600ea65ca11c21497 (ppp: set qdisc_tx_busylock to > avoid LOCKDEP splat), you probably should also backport the related Oh, I added this by mistake, and I believe this is what caused the above compile problem. I reverted this as the first patch for .2, and I compiled 3.6.11.1 with this revert on an allmodconfig. -- Steve > changes in bonding and team: > - 49ee49202b4ac4be95d05e4bf24a9ac8b54c5528 (bonding: set > qdisc_tx_busylock to avoid LOCKDEP splat) > - b3c581d5d7130fc7f2eab9ab14c8de8882b42380 (team: set qdisc_tx_busylock > to avoid LOCKDEP splat) > > -Carsten. ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [ANNOUNCE] 3.6.11.1-rt32 2013-03-29 3:25 [ANNOUNCE] 3.6.11.1-rt32 Steven Rostedt 2013-04-02 1:37 ` Carsten Emde @ 2013-04-02 3:13 ` Carsten Emde 2013-04-09 17:46 ` Steven Rostedt 2013-04-12 15:47 ` John Kacur 1 sibling, 2 replies; 7+ messages in thread From: Carsten Emde @ 2013-04-02 3:13 UTC (permalink / raw) To: Steven Rostedt Cc: LKML, RT, Thomas Gleixner, John Kacur, Sebastian Andrzej Siewior Steven, > I'm pleased to announce the 3.6.11.1-rt32 stable release. Unfortunately, there is another compile error: drivers/gpu/drm/i915/i915_gem.c: In function ‘i915_gem_wait_for_error’: drivers/gpu/drm/i915/i915_gem.c:118:3: warning: passing argument 1 of ‘rt_spin_lock’ from incompatible pointer type [enabled by default] In file included from include/linux/spinlock.h:273:0, from include/linux/wait.h:24, from include/linux/fs.h:396, from include/drm/drmP.h:47, from drivers/gpu/drm/i915/i915_gem.c:28: include/linux/spinlock_rt.h:21:24: note: expected ‘struct spinlock_t *’ but argument is of type ‘struct raw_spinlock_t *’ drivers/gpu/drm/i915/i915_gem.c:120:3: warning: passing argument 1 of ‘rt_spin_unlock’ from incompatible pointer type [enabled by default] In file included from include/linux/spinlock.h:273:0, from include/linux/wait.h:24, from include/linux/fs.h:396, from include/drm/drmP.h:47, from drivers/gpu/drm/i915/i915_gem.c:28: include/linux/spinlock_rt.h:24:24: note: expected ‘struct spinlock_t *’ but argument is of type ‘struct raw_spinlock_t *’ drivers/gpu/drm/i915/i915_gem.c: In function ‘i915_gem_check_wedge’: drivers/gpu/drm/i915/i915_gem.c:1890:3: warning: passing argument 1 of ‘rt_spin_lock’ from incompatible pointer type [enabled by default] In file included from include/linux/spinlock.h:273:0, from include/linux/wait.h:24, from include/linux/fs.h:396, from include/drm/drmP.h:47, from drivers/gpu/drm/i915/i915_gem.c:28: include/linux/spinlock_rt.h:21:24: note: expected ‘struct spinlock_t *’ but argument is of type ‘struct raw_spinlock_t *’ drivers/gpu/drm/i915/i915_gem.c:1892:3: warning: passing argument 1 of ‘rt_spin_unlock’ from incompatible pointer type [enabled by default] In file included from include/linux/spinlock.h:273:0, from include/linux/wait.h:24, from include/linux/fs.h:396, from include/drm/drmP.h:47, from drivers/gpu/drm/i915/i915_gem.c:28: include/linux/spinlock_rt.h:24:24: note: expected ‘struct spinlock_t *’ but argument is of type ‘struct raw_spinlock_t *’ I would propose to adopt the mechanism that Sebastian introduced in 3.8.4-rt2 (https://lkml.org/lkml/2013/3/26/600). The kernel compiles and runs without any problem with the below patch on a system that requires the i915 driver module. -Carsten. From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Subject: gpu/i915: don't open code these things Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> --- drivers/gpu/drm/i915/i915_gem.c | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) Index: linux-3.6.11.1-rt32/drivers/gpu/drm/i915/i915_gem.c =================================================================== --- linux-3.6.11.1-rt32.orig/drivers/gpu/drm/i915/i915_gem.c +++ linux-3.6.11.1-rt32/drivers/gpu/drm/i915/i915_gem.c @@ -90,7 +90,6 @@ i915_gem_wait_for_error(struct drm_devic { struct drm_i915_private *dev_priv = dev->dev_private; struct completion *x = &dev_priv->error_completion; - unsigned long flags; int ret; if (!atomic_read(&dev_priv->mm.wedged)) @@ -115,9 +114,7 @@ i915_gem_wait_for_error(struct drm_devic * end up waiting upon a subsequent completion event that * will never happen. */ - spin_lock_irqsave(&x->wait.lock, flags); - x->done++; - spin_unlock_irqrestore(&x->wait.lock, flags); + complete(x); } return 0; } @@ -1884,12 +1881,9 @@ i915_gem_check_wedge(struct drm_i915_pri if (atomic_read(&dev_priv->mm.wedged)) { struct completion *x = &dev_priv->error_completion; bool recovery_complete; - unsigned long flags; /* Give the error handler a chance to run. */ - spin_lock_irqsave(&x->wait.lock, flags); - recovery_complete = x->done > 0; - spin_unlock_irqrestore(&x->wait.lock, flags); + recovery_complete = completion_done(x); /* Non-interruptible callers can't handle -EAGAIN, hence return * -EIO unconditionally for these. */ ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [ANNOUNCE] 3.6.11.1-rt32 2013-04-02 3:13 ` Carsten Emde @ 2013-04-09 17:46 ` Steven Rostedt 2013-04-14 21:13 ` Carsten Emde 2013-04-12 15:47 ` John Kacur 1 sibling, 1 reply; 7+ messages in thread From: Steven Rostedt @ 2013-04-09 17:46 UTC (permalink / raw) To: Carsten Emde Cc: LKML, RT, Thomas Gleixner, John Kacur, Sebastian Andrzej Siewior On Tue, 2013-04-02 at 05:13 +0200, Carsten Emde wrote: > Steven, > > I'm pleased to announce the 3.6.11.1-rt32 stable release. > Unfortunately, there is another compile error: > drivers/gpu/drm/i915/i915_gem.c: In function ‘i915_gem_wait_for_error’: > drivers/gpu/drm/i915/i915_gem.c:118:3: warning: passing argument 1 of > ‘rt_spin_lock’ from incompatible pointer type [enabled by default] > In file included from include/linux/spinlock.h:273:0, > from include/linux/wait.h:24, > from include/linux/fs.h:396, > from include/drm/drmP.h:47, > from drivers/gpu/drm/i915/i915_gem.c:28: > include/linux/spinlock_rt.h:21:24: note: expected ‘struct spinlock_t *’ > but argument is of type ‘struct raw_spinlock_t *’ > drivers/gpu/drm/i915/i915_gem.c:120:3: warning: passing argument 1 of > ‘rt_spin_unlock’ from incompatible pointer type [enabled by default] > In file included from include/linux/spinlock.h:273:0, > from include/linux/wait.h:24, > from include/linux/fs.h:396, > from include/drm/drmP.h:47, > from drivers/gpu/drm/i915/i915_gem.c:28: > include/linux/spinlock_rt.h:24:24: note: expected ‘struct spinlock_t *’ > but argument is of type ‘struct raw_spinlock_t *’ > drivers/gpu/drm/i915/i915_gem.c: In function ‘i915_gem_check_wedge’: > drivers/gpu/drm/i915/i915_gem.c:1890:3: warning: passing argument 1 of > ‘rt_spin_lock’ from incompatible pointer type [enabled by default] > In file included from include/linux/spinlock.h:273:0, > from include/linux/wait.h:24, > from include/linux/fs.h:396, > from include/drm/drmP.h:47, > from drivers/gpu/drm/i915/i915_gem.c:28: > include/linux/spinlock_rt.h:21:24: note: expected ‘struct spinlock_t *’ > but argument is of type ‘struct raw_spinlock_t *’ > drivers/gpu/drm/i915/i915_gem.c:1892:3: warning: passing argument 1 of > ‘rt_spin_unlock’ from incompatible pointer type [enabled by default] > In file included from include/linux/spinlock.h:273:0, > from include/linux/wait.h:24, > from include/linux/fs.h:396, > from include/drm/drmP.h:47, > from drivers/gpu/drm/i915/i915_gem.c:28: > include/linux/spinlock_rt.h:24:24: note: expected ‘struct spinlock_t *’ > but argument is of type ‘struct raw_spinlock_t *’ > > I would propose to adopt the mechanism that Sebastian introduced in > 3.8.4-rt2 (https://lkml.org/lkml/2013/3/26/600). The kernel compiles > and runs without any problem with the below patch on a system that > requires the i915 driver module. > Thanks Carsten, I'll be updating this later today. BTW, did you get any core dumps from the work queue race that we've been seeing? Thanks, -- Steve ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [ANNOUNCE] 3.6.11.1-rt32 2013-04-09 17:46 ` Steven Rostedt @ 2013-04-14 21:13 ` Carsten Emde 0 siblings, 0 replies; 7+ messages in thread From: Carsten Emde @ 2013-04-14 21:13 UTC (permalink / raw) To: Steven Rostedt Cc: LKML, RT, Thomas Gleixner, John Kacur, Sebastian Andrzej Siewior Hi Steven, >>> I'm pleased to announce the 3.6.11.1-rt32 stable release. >> Unfortunately, there is another compile error: >> drivers/gpu/drm/i915/i915_gem.c: In function ‘i915_gem_wait_for_error’: >> drivers/gpu/drm/i915/i915_gem.c:118:3: warning: passing argument 1 of >> ‘rt_spin_lock’ from incompatible pointer type [enabled by default] >> In file included from include/linux/spinlock.h:273:0, >> from include/linux/wait.h:24, >> from include/linux/fs.h:396, >> from include/drm/drmP.h:47, >> from drivers/gpu/drm/i915/i915_gem.c:28: >> [..] >> I would propose to adopt the mechanism that Sebastian introduced in >> 3.8.4-rt2 (https://lkml.org/lkml/2013/3/26/600). The kernel compiles >> and runs without any problem with the below patch on a system that >> requires the i915 driver module. > Thanks Carsten, I'll be updating this later today. Thank you. > BTW, did you get any core dumps from the work queue race that we've > been seeing? No, not yet. Originally, the farm systems did not use crashkernels by default. I understood that it does no harm but could help in cases like this one. Therefore, I've started to reconfigure all farm system with crashkernels - starting with the two systems that had the work queue race crashes. The kernel messages here (one is a 12-core, the other one a 32-core box) look exactly like the one (https://lkml.org/lkml/2013/3/18/325) you saw in your 40-core machine (https://lkml.org/lkml/2013/3/18/430). We'll need to wait for the next crash that will give us a core dump we may then dissect. -Carsten. ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [ANNOUNCE] 3.6.11.1-rt32 2013-04-02 3:13 ` Carsten Emde 2013-04-09 17:46 ` Steven Rostedt @ 2013-04-12 15:47 ` John Kacur 1 sibling, 0 replies; 7+ messages in thread From: John Kacur @ 2013-04-12 15:47 UTC (permalink / raw) To: Carsten Emde Cc: Steven Rostedt, LKML, RT, Thomas Gleixner, John Kacur, Sebastian Andrzej Siewior [-- Attachment #1: Type: TEXT/PLAIN, Size: 4889 bytes --] On Tue, 2 Apr 2013, Carsten Emde wrote: > Steven, > > > I'm pleased to announce the 3.6.11.1-rt32 stable release. > Unfortunately, there is another compile error: > drivers/gpu/drm/i915/i915_gem.c: In function ‘i915_gem_wait_for_error’: > drivers/gpu/drm/i915/i915_gem.c:118:3: warning: passing argument 1 of > ‘rt_spin_lock’ from incompatible pointer type [enabled by default] > In file included from include/linux/spinlock.h:273:0, > from include/linux/wait.h:24, > from include/linux/fs.h:396, > from include/drm/drmP.h:47, > from drivers/gpu/drm/i915/i915_gem.c:28: > include/linux/spinlock_rt.h:21:24: note: expected ‘struct spinlock_t *’ but > argument is of type ‘struct raw_spinlock_t *’ > drivers/gpu/drm/i915/i915_gem.c:120:3: warning: passing argument 1 of > ‘rt_spin_unlock’ from incompatible pointer type [enabled by default] > In file included from include/linux/spinlock.h:273:0, > from include/linux/wait.h:24, > from include/linux/fs.h:396, > from include/drm/drmP.h:47, > from drivers/gpu/drm/i915/i915_gem.c:28: > include/linux/spinlock_rt.h:24:24: note: expected ‘struct spinlock_t *’ but > argument is of type ‘struct raw_spinlock_t *’ > drivers/gpu/drm/i915/i915_gem.c: In function ‘i915_gem_check_wedge’: > drivers/gpu/drm/i915/i915_gem.c:1890:3: warning: passing argument 1 of > ‘rt_spin_lock’ from incompatible pointer type [enabled by default] > In file included from include/linux/spinlock.h:273:0, > from include/linux/wait.h:24, > from include/linux/fs.h:396, > from include/drm/drmP.h:47, > from drivers/gpu/drm/i915/i915_gem.c:28: > include/linux/spinlock_rt.h:21:24: note: expected ‘struct spinlock_t *’ but > argument is of type ‘struct raw_spinlock_t *’ > drivers/gpu/drm/i915/i915_gem.c:1892:3: warning: passing argument 1 of > ‘rt_spin_unlock’ from incompatible pointer type [enabled by default] > In file included from include/linux/spinlock.h:273:0, > from include/linux/wait.h:24, > from include/linux/fs.h:396, > from include/drm/drmP.h:47, > from drivers/gpu/drm/i915/i915_gem.c:28: > include/linux/spinlock_rt.h:24:24: note: expected ‘struct spinlock_t *’ but > argument is of type ‘struct raw_spinlock_t *’ > > I would propose to adopt the mechanism that Sebastian introduced in > 3.8.4-rt2 (https://lkml.org/lkml/2013/3/26/600). The kernel compiles > and runs without any problem with the below patch on a system that > requires the i915 driver module. > > -Carsten. > > > > From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> > Subject: gpu/i915: don't open code these things > > Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> > --- > drivers/gpu/drm/i915/i915_gem.c | 10 ++-------- > 1 file changed, 2 insertions(+), 8 deletions(-) > > Index: linux-3.6.11.1-rt32/drivers/gpu/drm/i915/i915_gem.c > =================================================================== > --- linux-3.6.11.1-rt32.orig/drivers/gpu/drm/i915/i915_gem.c > +++ linux-3.6.11.1-rt32/drivers/gpu/drm/i915/i915_gem.c > @@ -90,7 +90,6 @@ i915_gem_wait_for_error(struct drm_devic > { > struct drm_i915_private *dev_priv = dev->dev_private; > struct completion *x = &dev_priv->error_completion; > - unsigned long flags; > int ret; > > if (!atomic_read(&dev_priv->mm.wedged)) > @@ -115,9 +114,7 @@ i915_gem_wait_for_error(struct drm_devic > * end up waiting upon a subsequent completion event that > * will never happen. > */ > - spin_lock_irqsave(&x->wait.lock, flags); > - x->done++; > - spin_unlock_irqrestore(&x->wait.lock, flags); > + complete(x); > } > return 0; > } > @@ -1884,12 +1881,9 @@ i915_gem_check_wedge(struct drm_i915_pri > if (atomic_read(&dev_priv->mm.wedged)) { > struct completion *x = &dev_priv->error_completion; > bool recovery_complete; > - unsigned long flags; > > /* Give the error handler a chance to run. */ > - spin_lock_irqsave(&x->wait.lock, flags); > - recovery_complete = x->done > 0; > - spin_unlock_irqrestore(&x->wait.lock, flags); > + recovery_complete = completion_done(x); > > /* Non-interruptible callers can't handle -EAGAIN, hence > return > * -EIO unconditionally for these. */ > > Is there a reason you left off the last hunk? @@ -4366,7 +4360,7 @@ static bool mutex_is_locked_by(struct mu if (!mutex_is_locked(mutex)) return false; -#if defined(CONFIG_SMP) || defined(CONFIG_DEBUG_MUTEXES) +#if (defined(CONFIG_SMP) || defined(CONFIG_DEBUG_MUTEXES)) && !defined(CONFIG_PREEMPT_RT_BASE) return mutex->owner == task; #else /* Since UP may be pre-empted, we cannot assume that we own the lock */ ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2013-04-14 21:13 UTC | newest] Thread overview: 7+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2013-03-29 3:25 [ANNOUNCE] 3.6.11.1-rt32 Steven Rostedt 2013-04-02 1:37 ` Carsten Emde 2013-04-11 17:50 ` Steven Rostedt 2013-04-02 3:13 ` Carsten Emde 2013-04-09 17:46 ` Steven Rostedt 2013-04-14 21:13 ` Carsten Emde 2013-04-12 15:47 ` John Kacur
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).