Re: [PATCH 1/4] kthreads: move sched-realeted initialization fromkthreadd context

From: Oleg Nesterov
Date: Sun Feb 01 2009 - 05:41:08 EST


On 01/31, Rusty Russell wrote:
>
> On Friday 30 January 2009 23:03:50 Oleg Nesterov wrote:
> > (on top of kthread-dont-looking-for-a-task-in-create_kthread-2.patch)
>
> Hi Oleg,
>
> Thanks for the cc: Vitaliy, I never saw that patch. I've included it in my queue now.
>
> As to this patch, it seems marginal. I've never been convinced that we should
> be trying to rescue root if they choose to set kthreadd's prio anyway,

I agree. Personally, I never understood this too. But if we want to
remove this code we need the separate discussion, so I just moved it
to the caller's context.

> but I'm also wondering why we care about kthread_create scalability!

It is always better to speedup things and to decrease the latency ;)

But I also think this and the next patch make the code simpler and
more clean. Now the only thing create_kthread() does is a plain fork()
and nothing else, this is imho good.

> Still, I'm happy to apply it with one change:
>
> > + /*
> > + * root may have changed our (kthreadd's) priority or CPU mask.
> > + * The kernel thread should not inherit these properties.
> > + */
> > + sched_setscheduler_nocheck(create.result, SCHED_NORMAL, &param);
> > + set_user_nice(create.result, KTHREAD_NICE_LEVEL);
> > + set_cpus_allowed_ptr(create.result, CPU_MASK_ALL_PTR);
>
> cpu_all_mask is the non-deprecated replacement for CPU_MASK_ALL_PTR.

Great, thanks.

(btw, I thought about avoiding CPU_MASK_ALL_PTR too, but I didn't
dare to mix 2 different things in one patch).

Oleg.

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