Re: [GIT PULL] rcu: finalize debugobjects, first round of RCU sparsepointer checks

From: Ingo Molnar
Date: Tue Jun 08 2010 - 14:07:31 EST



* Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> wrote:

> Hello, Ingo,
>
> Here are the final commits from Mathieu's debugobjects series and the
> first few from Arnd's RCU-pointer sparse series. The first three remove
> RCU's (useless) initializations from mm, fs, and powerpc:
>
> mm: http://lkml.org/lkml/2010/5/18/562
> fs: http://lkml.org/lkml/2010/5/18/500
> powerpc:http://www.mail-archive.com/linuxppc-dev@xxxxxxxxxxxxxxxx/msg43510.html
>
> Kosaki Motohiro agreed that the mm patch should go up -tip, and none of
> the other maintainers objected to the prospect of their patches going
> up -tip.
>
> The fourth patch removes RCU's initialization definitions, and the final
> four patches provide the beginnings of Arnd's RCU-pointer sparse checks.
>
> git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-2.6-rcu.git rcu/next
>
> Or, if you prefer this against 2.6.34-rc7 without a merge record:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-2.6-rcu.git rcu/next-rc7
>
> If you would rather me rebase this stack against 2.6.35-rc1, let me know!

I pulled the rcu/next-rc7 variant, thanks Paul!

New features are best done against stable kernels - i.e. v2.6.34. -rc7 was
pretty stable too so it was fine to pull. .35-rc1 OTOH is something definitely
more regression-prone than .34-rc7.

Except, of course, when we want to change code that is only in .35-rc1 - in
that case merging to .35-rc1 (or later -rc's) is perfectly fine.

> Either way, once these commits reach mainline, I will submit the next 21
> commits to their respective trees. The maintainers have been CCed on the
> earlier LKML patchsets (http://lkml.org/lkml/2010/5/12/372). Once these
> 21 commits hit mainline, I will send you a pull request for the remaining
> two commits.
>
> Then on to CONFIG_TINY_PREEMPT_RCU.
>
> Thanx, Paul
>
> ------------------>
> Mathieu Desnoyers (2)
> rcu head remove init
> tree/tiny rcu: Add debug RCU head objects
>
> Paul E. McKenney (6)
> powerpc: remove all rcu head initializations
> fs: remove all rcu head initializations, except on_stack initializations
> mm: remove all rcu head initializations
> rcu: add an rcu_dereference_index_check()
> rcu: add __rcu API for later sparse checking
> lockdep: Add an in_workqueue_context() lockdep-based test function
>
>
> arch/powerpc/mm/pgtable.c | 1
> fs/file.c | 3
> fs/fs-writeback.c | 31 +++++++-
> fs/partitions/check.c | 1
> include/linux/compiler.h | 2
> include/linux/rcupdate.h | 88 ++++++++++++++++++++++-
> include/linux/workqueue.h | 4 +
> kernel/rcupdate.c | 170 ++++++++++++++++++++++++++++++++++++++++++++++
> kernel/rcutiny.c | 2
> kernel/rcutree.c | 2
> kernel/workqueue.c | 15 ++++
> lib/Kconfig.debug | 6 +
> mm/backing-dev.c | 1
> mm/slob.c | 1
> 14 files changed, 309 insertions(+), 18 deletions(-)

Thanks Paul!

Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/