From: Miao Xie on
on 2010-5-12 9:49, Andrew Morton wrote:
....
>> --- a/kernel/exit.c
>> +++ b/kernel/exit.c
>> @@ -16,6 +16,7 @@
>> #include <linux/key.h>
>> #include <linux/security.h>
>> #include <linux/cpu.h>
>> +#include <linux/cpuset.h>
>> #include <linux/acct.h>
>> #include <linux/tsacct_kern.h>
>> #include <linux/file.h>
>> @@ -1003,8 +1004,10 @@ NORET_TYPE void do_exit(long code)
>>
>> exit_notify(tsk, group_dead);
>> #ifdef CONFIG_NUMA
>> + task_lock(tsk);
>> mpol_put(tsk->mempolicy);
>> tsk->mempolicy = NULL;
>> + task_unlock(tsk);
>> #endif
>> #ifdef CONFIG_FUTEX
>> if (unlikely(current->pi_state_cache))
>
> Given that this function is already holding task_lock(tsk), this
> didn't work very well.

Sorry for replying late.

Thanks for your patch that removes task_lock(tsk).

I made this patch against the mainline tree, and do_exit() in the mainline tree
doesn't hold task_lock(tsk), so I took task_lock(tsk). But I didn't take notice
that do_exit() in the mmotm tree had been changed, and I made this mistake.

> Also, why was the inclusion of cpuset.h added? Nothing which this
> patch adds appears to need it?
>

This is my mistake, I will make patch to cleanup it.

Thanks!
Miao

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/