Re: [RFC PATCH 4/5] RCU: Add TASK_RCU_OFFSET
From: Paul E. McKenney
Date: Tue Mar 29 2011 - 17:31:54 EST
On Tue, Mar 29, 2011 at 02:14:23PM -0700, H. Peter Anvin wrote:
> On 03/28/2011 01:35 AM, Jan Beulich wrote:
> >>>> On 28.03.11 at 05:00, Lai Jiangshan <laijs@xxxxxxxxxxxxxx> wrote:
> >>
> >> We can not include linux/sched.h in linux/rcupdate.h.
> >> If we access task's task_rcu_strut without linux/sched.h included,
> >> We will failed with compiling error.
> >>
> >> So we add TASK_RCU_OFFSET, which help us access
> >> task's task_rcu_strut without linux/sched.h included.
> >> Now, task_rcu_struct(), current_task_rcu_struct(), task_of_task_rcu() and
> >> rcu_copy_process() can be used anywhere without linux/sched.h included.
> >
> > Aren't the offsets-generation methods meant for assembly
> > consumption only? Header dependency problems normally can
> > be solved by splitting headers into a type declaration one and
> > a second one carrying inline function implementations. Is that
> > indeed completely impossible here?
>
> I have to say that if we have to use hardcoded offsets in C then we have
> bigger problems.
In this case, the offsets are mechanically generated from the structure
definitions.
Or am I missing your point?
Thanx, Paul
--
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/