Re: [RFC PATCH 4/5] RCU: Add TASK_RCU_OFFSET

From: Peter Zijlstra
Date: Fri Apr 22 2011 - 04:10:55 EST


On Fri, 2011-04-22 at 15:19 +0800, Lai Jiangshan wrote:
>
> What is the solution you prefer to?
>
> I insist on the solution which split rcupdate.h into 2 parts,
> the first part is rcupdate_defs.h which only contains:
> 1) struct rcu_head
> 2) MACRO rcu_dereference*
> 3) MACRO rcu_access_pointer rcu_access_index rcu_assign_pointer RCU_INIT_POINTER
> 4) rcu_*_lock_held() which is required by 2)
>
> All of these is required by sched.h, it is all about 450 lines of code.
>
> It does not just separate struct rcu_head out only, because rcu_dereference*()
> and APIs in rculist.h are required by in sched.h or headers included by sched.h.

The only usage of rculist.h in the whole of sched.h is that _one_
list_entry_rcu, of which we already have a macro user, so why not make
that one a macro too and safe ourselves a ton of grief?

You're just making stuff harder than it needs to be.
--
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/