[PATCH] FCSE: pid life cycle.
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
>> 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
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).
More information about the linux-arm-kernel