lkml.org 
[lkml]   [2019]   [Jul]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH v1 1/6] rcu: Add support for consolidated-RCU reader checking
    On Thu, Jul 11, 2019 at 07:43:56PM -0400, Joel Fernandes (Google) wrote:
    > This patch adds support for checking RCU reader sections in list
    > traversal macros. Optionally, if the list macro is called under SRCU or
    > other lock/mutex protection, then appropriate lockdep expressions can be
    > passed to make the checks pass.
    >
    > Existing list_for_each_entry_rcu() invocations don't need to pass the
    > optional fourth argument (cond) unless they are under some non-RCU
    > protection and needs to make lockdep check pass.
    >
    > Signed-off-by: Joel Fernandes (Google) <joel@joelfernandes.org>
    > ---
    > include/linux/rculist.h | 29 ++++++++++++++++++++++++-----
    > include/linux/rcupdate.h | 7 +++++++
    > kernel/rcu/Kconfig.debug | 11 +++++++++++
    > kernel/rcu/update.c | 26 ++++++++++++++++++++++++++
    > 4 files changed, 68 insertions(+), 5 deletions(-)
    >
    > diff --git a/include/linux/rculist.h b/include/linux/rculist.h
    > index e91ec9ddcd30..78c15ec6b2c9 100644
    > --- a/include/linux/rculist.h
    > +++ b/include/linux/rculist.h
    > @@ -40,6 +40,23 @@ static inline void INIT_LIST_HEAD_RCU(struct list_head *list)
    > */
    > #define list_next_rcu(list) (*((struct list_head __rcu **)(&(list)->next)))
    >
    > +/*
    > + * Check during list traversal that we are within an RCU reader
    > + */
    > +
    > +#define SIXTH_ARG(a1, a2, a3, a4, a5, a6, ...) a6
    > +#define COUNT_VARGS(...) SIXTH_ARG(dummy, ## __VA_ARGS__, 4, 3, 2, 1, 0)

    You don't seem to actually use it in this patch; also linux/kernel.h has
    COUNT_ARGS().

    \
     
     \ /
      Last update: 2019-07-12 13:04    [W:2.434 / U:0.168 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site