On Sunday 26 March 2006 22:40, Jeff Dike wrote:
> And, BTW, you should probably send the TLS stuff in this week if you
> want it to go into 2.6.17 easily.
Ok, I've just finished everything (including proper detection of ) and feel
satisfied of the code. However, look at the attached patch - it's a cosmetic
bug which I found while testing TLS, and I'd like you to review it.
Meanwhile, I'm releasing 2.6.16-bb1 with the TLS stuff and this patch
included, plus various other little stuff.
I hope this week I can send TLS in mainline, however we should be able to get
it even if it's a few days past the deadline.
My current problem is that out of a whole week, I can only hack on Wednesday
afternoon, or on the weekend (read sunday afternoon) if I can do that, or
after dinner. I'd have a lot of time on early morning, but you can understand
it goes easily wasted because I must sleep.
--
Inform me of my mistakes, so I can keep imitating Homer Simpson's "Doh!".
Paolo Giarrusso, aka Blaisorblade (Skype ID "PaoloGiarrusso", ICQ 215621894)
http://www.user-mode-linux.org/~blaisorblade
uml idle thread needn't take access to init_mm
From: Paolo 'Blaisorblade' Giarrusso <[EMAIL PROTECTED]>
Comparing this code which is the actual body of the arch-independent cpu_idle(),
it is clear that it's unnecessary to set ->mm and ->active_mm; beyond that, a
kernel thread is not supposed to have ->mm != NULL, only active_mm.
This showed up because I used the assumption (which is IMHO valid) that kernel
thread have their ->mm == NULL, and it failed for this thread.
Signed-off-by: Paolo 'Blaisorblade' Giarrusso <[EMAIL PROTECTED]>
Index: linux-2.6.16/arch/um/kernel/process_kern.c
===================================================================
--- linux-2.6.16.orig/arch/um/kernel/process_kern.c
+++ linux-2.6.16/arch/um/kernel/process_kern.c
@@ -201,10 +201,6 @@ void default_idle(void)
{
CHOOSE_MODE(uml_idle_timer(), (void) 0);
- atomic_inc(&init_mm.mm_count);
- current->mm = &init_mm;
- current->active_mm = &init_mm;
-
while(1){
/* endless idle loop with no priority at all */