Re: [patch -mm v2] mm: introduce oom_adj_child

From: KAMEZAWA Hiroyuki
Date: Fri Jul 31 2009 - 06:49:16 EST


David Rientjes wrote:
> On Fri, 31 Jul 2009, KAMEZAWA Hiroyuki wrote:
>
>> > > Simply, reset_oom_adj_at_new_mm_context or some.
>> > >
>> >
>> > I think it's preferred to keep the name relatively short which is an
>> > unfortuante requirement in this case. I also prefer to start the name
>> > with "oom_adj" so it appears alongside /proc/pid/oom_adj when listed
>> > alphabetically.
>> >
>> But misleading name is bad.
>>
>
> Can you help think of any names that start with oom_adj_* and are
> relatively short? I'd happily ack it.
>
There have been traditional name "effective" as uid and euid.

then, per thread oom_adj as oom_adj
per proc oom_adj as effective_oom_adj

is an natural way as Unix, I think.



>> Why don't you think select_bad_process()-> oom_kill_task()
>> implementation is bad ?
>
> It livelocks if a thread is chosen and passed to oom_kill_task() while
> another per-thread oom_adj value is OOM_DISABLE for a thread sharing the
> same memory.
>
I say "why don't modify buggy selection logic?"

Why we have to scan all threads ?
As fs/proc/readdir does, you can scan only "process group leader".

per-thread scan itself is buggy because now we have per-process
effective-oom-adj.


>> IMHO, it's bad manner to fix an os-implementation problem by adding
>> _new_ user
>> interface which is hard to understand.
>>
>
> How else do you propose the oom killer use oom_adj values on a per-thread
> basis without considering other threads sharing the same memory?
As I wrote.
per-process(signal struct) or per-thread oom_adj and add
mm->effecitve_oom_adj

task scanning isn't necessary to do per-thread scan and you can scan
only process-group-leader. What's bad ?
If oom_score is problem, plz fix it to show effective_oom_score.

If you can wait until the end of August, plz wait. I'll do some.

Thanks,
-Kame

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