Re: [PATCH 1/4] add task handling notifier: base definitions

From: Jan Beulich
Date: Wed Jan 09 2008 - 04:46:21 EST


>> +BLOCKING_NOTIFIER_HEAD(task_notifier_list);
>> +EXPORT_SYMBOL_GPL(task_notifier_list);
>> +ATOMIC_NOTIFIER_HEAD(atomic_task_notifier_list);
>> +EXPORT_SYMBOL_GPL(atomic_task_notifier_list);
>> +
>
>When these global notifier lists were proposed years ago folks at SGI
>loudly objected with concerns over anticipated cache line bouncing on
>512+ cpu machines. Is that no longer a concern?

I can't see an alternative, since the serialization is unavoidable.

>> @@ -121,6 +127,9 @@ void __put_task_struct(struct task_struc
>> WARN_ON(atomic_read(&tsk->usage));
>> WARN_ON(tsk == current);
>>
>> + atomic_notifier_call_chain(&atomic_task_notifier_list,
>> + TASK_DELETE, tsk);
>> +
>> security_task_free(tsk);
>> free_uid(tsk->user);
>> put_group_info(tsk->group_info);
>
>Would the atomic notifier call chain be necessary if you hooked into an
>earlier section of do_exit() instead?

I'm afraid it is, as I was told that sleeping in the do_exit() path is not
generally possible.

Jan

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