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

From: H. Peter Anvin
Date: Tue Mar 29 2011 - 17:14:28 EST


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.

-hpa
--
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/