Re: [RFC][-mm] Memory controller add mm->owner

From: Balbir Singh
Date: Wed Mar 26 2008 - 07:45:30 EST


Paul Menage wrote:
> On Wed, Mar 26, 2008 at 3:29 AM, Balbir Singh <balbir@xxxxxxxxxxxxxxxxxx> wrote:
>> >>
>> >> - in the worst case, it's not going to be worse than doing a
>> >> for_each_thread() loop
>> >>
>>
>> This will have to be the common case, since you never know what combination of
>> clone calls did CLONE_VM and what did CLONE_THREAD. At exit time, we need to pay
>> a for_each_process() overhead.
>
> I'm not convinced of this. All we have to do is find some other
> process p where p->mm == current->mm and make it the new owner.
> Exactly what sequence of clone() calls was used to cause the sharing
> isn't really relevant. I really think that a suitable candidate will
> be found amongst your children or your first sibling in 99.9% of those
> cases where more than one process is using an mm.
>

Hmmm.. the 99.9% of the time is just guess work (not measured, could be possibly
true). I see and understand your code below. But before I try and implement
something like that, I was wondering why zap_threads() does not have that
heuristic. That should explain my inhibition.

Can anyone elaborate on zap_threads further?

--
Warm Regards,
Balbir Singh
Linux Technology Center
IBM, ISTL
--
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/