Re: [PATCH] move put_task_struct() reaping into a thread [Re: 2.6.18-rt1]

From: Ingo Molnar
Date: Wed Sep 27 2006 - 05:23:23 EST



* Bill Huey <billh@xxxxxxxxxxxxxxxxx> wrote:

> On Wed, Sep 27, 2006 at 10:57:12AM +0200, Ingo Molnar wrote:
> > * Bill Huey <billh@xxxxxxxxxxxxxxxxx> wrote:
> >
> > > Because the conversion of memory allocation routines like kmalloc and
> > > kfree aren't safely callable within a preempt_disable critical section
> > > since they were incompletely converted in the -rt. [...]
> >
> > they were not 'incompletely converted' - they are /intentionally/ fully
> > preemptible.
>
> What I meant by "incompletely converted" is that the allocators could
> be made more safe in non-preemptible scenarios under -rt. [...]

no, the -rt kernel intentionally does not do that and wont do that.
There's lots of complex stuff going on within allocators, even in the
GFP_ATOMIC path. We might be able to plug in more deterministic
allocators (like SLOB), but even they must be fully preemptible. In the
-rt kernel there's basically no compromise on the "do as little as
possible in non-preemptible regions" stance.

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