[PATCH 09/10] mm, oom_reaper: do not attempt to reap a task more than twice

2016-06-20 Thread Michal Hocko
From: Michal Hocko oom_reaper relies on the mmap_sem for read to do its job. Many places which might block readers have been converted to use down_write_killable and that has reduced chances of the contention a lot. Some paths where the mmap_sem is held for write can take other

[PATCH 09/10] mm, oom_reaper: do not attempt to reap a task more than twice

2016-06-20 Thread Michal Hocko
From: Michal Hocko oom_reaper relies on the mmap_sem for read to do its job. Many places which might block readers have been converted to use down_write_killable and that has reduced chances of the contention a lot. Some paths where the mmap_sem is held for write can take other locks and they

Re: [PATCH 09/10] mm, oom_reaper: do not attempt to reap a task more than twice

2016-06-16 Thread Michal Hocko
On Wed 15-06-16 16:48:35, Oleg Nesterov wrote: > On 06/09, Michal Hocko wrote: > > > > @@ -556,8 +556,27 @@ static void oom_reap_task(struct task_struct *tsk) > > schedule_timeout_idle(HZ/10); > > > > if (attempts > MAX_OOM_REAP_RETRIES) { > > + struct task_struct *p; >

Re: [PATCH 09/10] mm, oom_reaper: do not attempt to reap a task more than twice

2016-06-16 Thread Michal Hocko
On Wed 15-06-16 16:48:35, Oleg Nesterov wrote: > On 06/09, Michal Hocko wrote: > > > > @@ -556,8 +556,27 @@ static void oom_reap_task(struct task_struct *tsk) > > schedule_timeout_idle(HZ/10); > > > > if (attempts > MAX_OOM_REAP_RETRIES) { > > + struct task_struct *p; >

Re: [PATCH 09/10] mm, oom_reaper: do not attempt to reap a task more than twice

2016-06-15 Thread Oleg Nesterov
On 06/09, Michal Hocko wrote: > > @@ -556,8 +556,27 @@ static void oom_reap_task(struct task_struct *tsk) > schedule_timeout_idle(HZ/10); > > if (attempts > MAX_OOM_REAP_RETRIES) { > + struct task_struct *p; > + > pr_info("oom_reaper: unable to reap

Re: [PATCH 09/10] mm, oom_reaper: do not attempt to reap a task more than twice

2016-06-15 Thread Oleg Nesterov
On 06/09, Michal Hocko wrote: > > @@ -556,8 +556,27 @@ static void oom_reap_task(struct task_struct *tsk) > schedule_timeout_idle(HZ/10); > > if (attempts > MAX_OOM_REAP_RETRIES) { > + struct task_struct *p; > + > pr_info("oom_reaper: unable to reap

[PATCH 09/10] mm, oom_reaper: do not attempt to reap a task more than twice

2016-06-09 Thread Michal Hocko
From: Michal Hocko oom_reaper relies on the mmap_sem for read to do its job. Many places which might block readers have been converted to use down_write_killable and that has reduced chances of the contention a lot. Some paths where the mmap_sem is held for write can take other

[PATCH 09/10] mm, oom_reaper: do not attempt to reap a task more than twice

2016-06-09 Thread Michal Hocko
From: Michal Hocko oom_reaper relies on the mmap_sem for read to do its job. Many places which might block readers have been converted to use down_write_killable and that has reduced chances of the contention a lot. Some paths where the mmap_sem is held for write can take other locks and they

[RFC PATCH 09/10] mm, oom_reaper: do not attempt to reap a task more than twice

2016-06-03 Thread Michal Hocko
From: Michal Hocko oom_reaper relies on the mmap_sem for read to do its job. Many places which might block readers have been converted to use down_write_killable and that has reduced chances of the contention a lot. Some paths where the mmap_sem is held for write can take other

[RFC PATCH 09/10] mm, oom_reaper: do not attempt to reap a task more than twice

2016-06-03 Thread Michal Hocko
From: Michal Hocko oom_reaper relies on the mmap_sem for read to do its job. Many places which might block readers have been converted to use down_write_killable and that has reduced chances of the contention a lot. Some paths where the mmap_sem is held for write can take other locks and they