> > the victim should not directly access hardware devices like Xorg server, > > because the hardware could be left in an unpredictable state, although > > user-application can set /proc/pid/oom_score_adj to protect it. so i think > > those processes should get 3% bonus for protection. > > > > The logic here is wrong: if killing these tasks can leave hardware in an > unpredictable state (and that state is presumably harmful), then they > should be completely immune from oom killing since you're still leaving > them exposed here to be killed. > > So the question that needs to be answered is: why do these threads deserve > to use 3% more memory (not >4%) than others without getting killed? If > there was some evidence that these threads have a certain quantity of > memory they require as a fundamental attribute of CAP_SYS_RAWIO, then I > have no objection, but that's going to be expressed in a memory quantity > not a percentage as you have here. 3% is choosed by you :-/ > The CAP_SYS_ADMIN heuristic has a background: it is used in the oom killer > because we have used the same 3% in __vm_enough_memory() for a long time > and we want consistency amongst the heuristics. Adding additional bonuses > with arbitrary values like 3% of memory for things like CAP_SYS_RAWIO > makes the heuristic less predictable and moves us back toward the old > heuristic which was almost entirely arbitrary. That's bogus. __vm_enough_memory() does track virtual adress space. oom-killer doesn't. It's unrelated. > Now before KOSAKI-san comes out and says the old heuristic considered > CAP_SYS_RAWIO and the new one does not so it _must_ be a regression: the > old heuristic also divided the badness score by 4 for that capability as a > completely arbitrary value (just like 3% is here). Other traits like > runtime and nice levels were also removed from the heuristic. What needs > to be shown is that CAP_SYS_RAWIO requires additional memory just to run > or we should neglect to free 3% of memory, which could be gigabytes, > because it has this trait. Old background is very simple and cleaner. CAP_SYS_RESOURCE mean the process has a privilege of using more resource. then, oom-killer gave it additonal bonus. CAP_SYS_RAWIO mean the process has a direct hardware access privilege (eg X.org, RDB). and then, killing it might makes system crash. In another story, somebody doubt 4x bonus is good or not. but 3% has the same problem. -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxxx For more info on Linux MM, see: http://www.linux-mm.org/ . Fight unfair telecom policy in Canada: sign http://dissolvethecrtc.ca/ Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>