Re: [Patch] restore the RCU callback to defer put_task_struct() Re:Problems with 2.6.17-rt8

From: Esben Nielsen
Date: Fri Aug 11 2006 - 04:15:02 EST

On Thu, 10 Aug 2006, Bill Huey wrote:

On Wed, Aug 09, 2006 at 07:18:35PM -0700, Bill Huey wrote:
On Thu, Aug 10, 2006 at 12:05:57AM +0200, Esben Nielsen wrote:
I had a long discussion with Paul McKenney about this. I opposed the patch
from a latency point of view: Suddenly a high-priority RT task could be
made into releasing a task_struct. It would be better for latencies to
defer it to a low priority task.

The conclusion we ended up with was that it is not a job for the RCU
system, but it ought to be deferred to some other low priority task to
free the task_struct.

I agree. It's just hack to get it not to crash at this time. It really
should be done in another facility or utilizing another threading context.

Esben and company,

This is the second round of getting rid of the locking problems with free_task()

This extends the mmdrop logic with desched_thread() to also handle free_task()
requests as well. I believe this address your concerns and I'm open to review
of this patch.

Patch included:


Without applying the patch and only skimming it it looks like what Paul and I concluded :-)

But is there really no generic way of defering this kind of thing? It looks like a hell of a lot work where a kind of "message" infrastructure could have solved it in a few lines.

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at