Messages in this thread | | | Date | Thu, 6 Jan 2011 09:55:28 +0900 | From | KAMEZAWA Hiroyuki <> | Subject | Re: [PATCH v3]mm/oom-kill: direct hardware access processes should get bonus |
| |
On Tue, 04 Jan 2011 16:56:47 +0800 "Figo.zhang" <zhangtianfei@leadcoretech.com> wrote:
> On 01/04/2011 04:28 PM, KAMEZAWA Hiroyuki wrote: > > On Tue, 04 Jan 2011 15:51:44 +0800 > > "Figo.zhang"<zhangtianfei@leadcoretech.com> wrote: > > > >> > >> i had send the patch to protect the hardware access processes for > >> oom-killer before, but rientjes have not agree with me. > >> > >> but today i catch log from my desktop. oom-killer have kill my "minicom" > >> and "Xorg". so i think it should add protection about it. > >> > > > > Off topic. > > > > In this log, I found > > > >>> Jan 4 15:22:55 figo-desktop kernel: Free swap = -1636kB > >>> Jan 4 15:22:55 figo-desktop kernel: Total swap = 0kB > >>> Jan 4 15:22:55 figo-desktop kernel: 515070 pages RAM > > > > ... This means total_swap_pages = 0 while pages are read-in at swapoff. > > > > Let's see 'points' for oom > > == > > points = (get_mm_rss(p->mm) + get_mm_counter(p->mm, MM_SWAPENTS)) * 1000 / > > totalpages; > > == > > > > Here, totalpages = total_ram + total_swap but totalswap is 0 here. > > > > So, points can be> 1000, easily. > > (This seems not to be related to the Xorg's death itself) > > total_swap is 0, so > totalpages = total_ram, > get_mm_counter(p->mm, MM_SWAPENTS) = 0, > > so > points = (get_mm_rss(p->mm)) * 1000 / totalpages; > > so points canot larger than 1000.
mm_counter's swap count is reduced only when swapents are removed from page table. But total_swap is reduced to be 0 before try_to_unuse().
Thanks, -Kame
| |