[PATCH] FCSE: pid life cycle.

Gilles Chanteperdrix gilles.chanteperdrix at xenomai.org
Sun Oct 4 15:25:16 EDT 2009


Pavel Machek wrote:
> On Thu 2009-10-01 23:34:11, Gilles Chanteperdrix wrote:
>> Add a pid member to the mm_context_t structure, allocate this pid in
>> the init_new_context, free it in the destroy_context, switch it in
>> switch_mm.
>>
>> A bitfield is maintained to know what pids are currently in use.
>>
>> Signed-off-by: Richard Cochran <richard.cochran at omicron.at>
>> Signed-off-by: Gilles Chanteperdrix <gilles.chanteperdrix at xenomai.org>
> ...
>> --- /dev/null
>> +++ b/arch/arm/include/asm/fcse.h
>> @@ -0,0 +1,44 @@
>> +/*
>> + * Filename:    arch/arm/include/asm/fcse.h
>> + * Description: ARM Process ID (PID) includes for Fast Address Space Switching
>> + *              (FASS) in ARM Linux.
>> + * Created:     14/10/2001
>> + * Changes:     19/02/2002 - Macros added.
>> + *              03/08/2007 - Adapted to kernel 2.6.21 (ssm)
>> + *              Feb 2008   - Simplified a bit (rco)
> 
> We normally avoid changelogs in sources.

Ok. Will remove that, it was inherited.

> 
>> +/* Sets the CPU's PID Register */
>> +static inline void fcse_pid_set(unsigned long pid)
>> +{
>> +	__asm__ __volatile__ ("mcr p15, 0, %0, c13, c0, 0"
>> +			      : /* */: "r" (pid) : "memory");
>> +}
> 
> Calling this 'pid' is extremely confusing. PID already means process
> id...

Guess what, it also means "process id" in the FCSE case, and it is the
name it has in the documentation, I always find a good idea to name the
hardware registers as per documentation. I guess the original intent was
to put the real process id into the hardware register, but that is not
really possible with Linux. So, I guess we can call it fcse_pid.

In any case, I will keep all modifications for a second post once I had
sufficient review (namely, I am expecting Russell's review, since he is
the one who will accept or reject the patch in the end).

-- 
					    Gilles.



More information about the linux-arm-kernel mailing list