Re: [PATCH 3/3] ftrace: add ability to only trace swapper tasks

From: Eric W. Biederman
Date: Thu Dec 04 2008 - 16:46:34 EST


Steven Rostedt <rostedt@xxxxxxxxxxx> writes:

> On Thu, 4 Dec 2008, Eric W. Biederman wrote:
>> >> >
>> >> >> > +static struct pid * const ftrace_swapper_pid = (struct pid *)1;
>> >> >>
>> >> >> eh?
>> >> >
>> >> > all side-effects of getting rid of the integer based PID namespace and
>> >> > replacing them with struct pid pointers.
>> >>
>> >> Thanks for asking Andrew it looks like an unnecessary side effect.
>> >
>> > Well, it was necessary without hacking fork.c ;-)
>>
>> The (struct pid *)1 has always been unnecessary.
>
> Well, I could set it to the &init_struct_pid as you said, but it will not
> change any of the code below it. So it does not matter what
> ftrace_swapper_pid is set to, as long as it is not set to something that
> can be a legitimate pid struct for something not the swapper task.
>
> It will only matter when we fix the fork code.

Well that and if someone dereferences.

>> As for fork. It would be nice to remove most of the special cases
>> for the idle thread. At least the counts are significant. The rest
>> is pretty much a don't care at this point.
>
> Well, the swapper task should still have a pid of zero. That is probably
> important.

Right. I simply meant most of the
if (likely(p->pid)) conditional except for the counts is pretty much a don't
care. Keeping the idle tasks off of the process list and out of the counts
is useful.

For this particular case what problem did you see with calling attach_pid
with PIDTYPE_PID on init_struct_pid?

Eric

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