On Wed, Aug 09, 2006 at 07:18:35PM -0700, Bill Huey wrote:Without applying the patch and only skimming it it looks like what Paul and I concluded :-)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.