Messages in this thread |  | | From | KOSAKI Motohiro <> | Subject | Re: [patch -mm v2] mm: introduce oom_adj_child | Date | Mon, 3 Aug 2009 21:32:40 +0900 (JST) |
| |
Hi
Sorry for queue jumping. I have one question.
> > > - /proc/pid/oom_score is inconsistent when the thread that set the > > > effective per-mm oom_adj exits and it is now obsolete since you have > > > no way to determine what the next effective oom_adj value shall be. > > > > > plz re-caluculate it. it's not a big job if done in lazy way. > > > > You can't recalculate it if all the remaining threads have a different > oom_adj value than the effective oom_adj value from the thread that is now > exited. There is no assumption that, for instance, the most negative > oom_adj value shall then be used. Imagine the effective oom_adj value > being +15 and a thread sharing the same memory has an oom_adj value of > -16. Under no reasonable circumstance should the oom preference of the > entire thread then change to -16 just because its the side-effect of a > thread exiting.
Why do we need recaluculate AT thread exiting time? it is only used when oom_score is readed or actual OOM happend. both those are slow-path.
> > That's the _entire_ reason why we need consistency in oom_adj values so > that userspace is aware of how the oom killer really works and chooses > tasks. I understand that it differs from the previously allowed behavior, > but those userspace applications need to be fixed if, for no other reason, > they are now consistent with how the oom killer kills tasks. I think > that's a very worthwhile goal and the cost of moving to a new interface > such as /proc/pid/oom_adj_child to have the same inheritance property that > was available in the past is justified.
|  |