Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1233609 > unrolled thread
| Started by | "Paul E. McKenney" <paulmck@linux.vnet.ibm.com> |
|---|---|
| First post | 2015-09-27 06:20 +0200 |
| Last post | 2015-09-28 08:10 +0200 |
| Articles | 2 — 2 participants |
Back to article view | Back to linux.kernel
[GIT PULL rcu/urgent] Fix two more 4.3 regressions "Paul E. McKenney" <paulmck@linux.vnet.ibm.com> - 2015-09-27 06:20 +0200
Re: [GIT PULL rcu/urgent] Fix two more 4.3 regressions Ingo Molnar <mingo@kernel.org> - 2015-09-28 08:10 +0200
| From | "Paul E. McKenney" <paulmck@linux.vnet.ibm.com> |
|---|---|
| Date | 2015-09-27 06:20 +0200 |
| Subject | [GIT PULL rcu/urgent] Fix two more 4.3 regressions |
| Message-ID | <qdbBn-4ra-1@gated-at.bofh.it> |
Hello, Ingo,
This series contains two small fixes for regressions introduced during
the past merge window:
1. Recent versions of gcc are fatally confused by use of a const
int variable for array bounds in inline functions, one of which
was introduced by 114b7fd4b (rcu: Create rcu_sync infrastructure).
For more information on the gcc bug, see:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67055#c13
This workaround for that gcc bug, courtesy of Oleg Nesterov,
simply substitutes the constant expression for the two uses of
the const int variable.
2. Commit 2cd6ffafec06 (rcu: Extend expedited funnel locking
to rcu_data structure) extended contention-reducing
funnel locking from the rcu_node structures to the rcu_data
structures, but failed to create a separate lock class for the
rcu_sched_data structures, which is needed due to the fact that
synchronize_rcu_expedited() invokes synchronize_sched_expedited().
In the absence of this separate lock class, lockdep can give
false-positive splats. This commit therefore creates the
required lock class so that lockdep can see that there is in
fact no deadlock.
Both fixes have been exposed to -next and 0day Test Robot testing.
These changes are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git for-mingo
for you to fetch changes up to 19a5ecde086a6a5287978b12ae948fa691b197b7:
rcu: Suppress lockdep false positive for rcp->exp_funnel_mutex (2015-09-20 21:01:22 -0700)
----------------------------------------------------------------
Oleg Nesterov (1):
rcu: Change _wait_rcu_gp() to work around GCC bug 67055
Paul E. McKenney (1):
rcu: Suppress lockdep false positive for rcp->exp_funnel_mutex
include/linux/rcupdate.h | 11 +++++------
kernel/rcu/tree.c | 5 +++++
2 files changed, 10 insertions(+), 6 deletions(-)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[toc] | [next] | [standalone]
| From | Ingo Molnar <mingo@kernel.org> |
|---|---|
| Date | 2015-09-28 08:10 +0200 |
| Message-ID | <qdzNn-5Ey-13@gated-at.bofh.it> |
| In reply to | #1233609 |
* Paul E. McKenney <paulmck@linux.vnet.ibm.com> wrote: > Hello, Ingo, > > This series contains two small fixes for regressions introduced during > the past merge window: > > 1. Recent versions of gcc are fatally confused by use of a const > int variable for array bounds in inline functions, one of which > was introduced by 114b7fd4b (rcu: Create rcu_sync infrastructure). > For more information on the gcc bug, see: > > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67055#c13 > > This workaround for that gcc bug, courtesy of Oleg Nesterov, > simply substitutes the constant expression for the two uses of > the const int variable. > > 2. Commit 2cd6ffafec06 (rcu: Extend expedited funnel locking > to rcu_data structure) extended contention-reducing > funnel locking from the rcu_node structures to the rcu_data > structures, but failed to create a separate lock class for the > rcu_sched_data structures, which is needed due to the fact that > synchronize_rcu_expedited() invokes synchronize_sched_expedited(). > In the absence of this separate lock class, lockdep can give > false-positive splats. This commit therefore creates the > required lock class so that lockdep can see that there is in > fact no deadlock. > > Both fixes have been exposed to -next and 0day Test Robot testing. > > These changes are available in the git repository at: > > git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git for-mingo > > for you to fetch changes up to 19a5ecde086a6a5287978b12ae948fa691b197b7: > > rcu: Suppress lockdep false positive for rcp->exp_funnel_mutex (2015-09-20 21:01:22 -0700) > > ---------------------------------------------------------------- > Oleg Nesterov (1): > rcu: Change _wait_rcu_gp() to work around GCC bug 67055 > > Paul E. McKenney (1): > rcu: Suppress lockdep false positive for rcp->exp_funnel_mutex > > include/linux/rcupdate.h | 11 +++++------ > kernel/rcu/tree.c | 5 +++++ > 2 files changed, 10 insertions(+), 6 deletions(-) Pulled, thanks a lot Paul! Ingo -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web