lkml.org 
[lkml]   [2008]   [Apr]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [Fwd: [-mm] Add an owner to the mm_struct (v9)]
Oleg Nesterov wrote:
> On 04/15, Paul Menage wrote:
>> On Tue, Apr 15, 2008 at 10:13 AM, Oleg Nesterov <oleg@tv-sign.ru> wrote:
>>> Let's suppose the process with a lot of threads does exit_group() and nobody
>>> else uses this ->mm. How many time we will re-assign mm->owner and iterate
>>> over the all threads in system ?
>>>
>> In general we won't get to the third loop, since one of the first two
>> loops (children or siblings) will find another mm user.
>
> Well yes, the second loop checks parent->children ... all sub-threads have
> the same parent.
>
> I'd suggest to use ->real_parent though. And the third loop could be
>

real_parent is for ptraced processes right?

> for_each_process(g) {
> c = g;
> do {
> if (!c->mm)
> continue;
> if (c->mm != mm)
> break;
> goto assign_new_owner;
> } while_each_thread(g, c);
> }
>

I had this loop earlier (inspired from zap_threads()), is this loop more
efficient than what we have?

> Still. can't we make mm->mm_users_list ?
>

I suspect that will be expensive to maintain. Specially with large number of
threads. I see a large space overhead and time overhead and additional
synchronization overhead. Apart from finding the next owner is there any other
advantage?

> Oleg.
>


--
Warm Regards,
Balbir Singh
Linux Technology Center
IBM, ISTL


\
 
 \ /
  Last update: 2008-04-17 05:43    [W:0.276 / U:0.072 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site