On Wed, 25 Jul 2018, Tetsuo Handa wrote:
> > If exit_mmap() gets preempted indefinitely before it can free any memory,
> > we are better off oom killing another process. The purpose of the timeout
> > is to give an oom victim an amount of time to free its memory and exit
> > before selecting a
On 2018/07/25 7:51, David Rientjes wrote:
> On Wed, 25 Jul 2018, Tetsuo Handa wrote:
>
You might worry about situations where __oom_reap_task_mm() is a no-op.
But that is not always true. There is no point with emitting
pr_info("oom_reaper: unable to reap pid:%d (%s)\n", ...)
On Wed, 25 Jul 2018, Tetsuo Handa wrote:
> >> You might worry about situations where __oom_reap_task_mm() is a no-op.
> >> But that is not always true. There is no point with emitting
> >>
> >> pr_info("oom_reaper: unable to reap pid:%d (%s)\n", ...);
> >> debug_show_all_locks();
> >>
> >> noi
On 2018/07/25 6:45, David Rientjes wrote:
> On Sat, 21 Jul 2018, Tetsuo Handa wrote:
>
>> You can't apply "[patch v4] mm, oom: fix unnecessary killing of additional
>> processes"
>> because Michal's patch which removes oom_lock serialization was add
On Sat, 21 Jul 2018, Tetsuo Handa wrote:
> You can't apply "[patch v4] mm, oom: fix unnecessary killing of additional
> processes"
> because Michal's patch which removes oom_lock serialization was added to -mm
> tree.
>
I've rebased the patch to linux-
; victim's mm
>> might have multiple TB memory which could take long time.
>>
>
> This patch does not involve deltas for oom_lock here, it can certainly be
> changed on top of this patch. I'm not attempting to address any oom_lock
> issue here. It should
On Sat, 21 Jul 2018, Tetsuo Handa wrote:
> > diff --git a/mm/mmap.c b/mm/mmap.c
> > --- a/mm/mmap.c
> > +++ b/mm/mmap.c
> > @@ -3066,25 +3066,27 @@ void exit_mmap(struct mm_struct *mm)
> > if (unlikely(mm_is_oom_victim(mm))) {
> > /*
> > * Manually reap the mm to free
On 2018/07/21 5:14, David Rientjes wrote:
> diff --git a/mm/mmap.c b/mm/mmap.c
> --- a/mm/mmap.c
> +++ b/mm/mmap.c
> @@ -3066,25 +3066,27 @@ void exit_mmap(struct mm_struct *mm)
> if (unlikely(mm_is_oom_victim(mm))) {
> /*
>* Manually reap the mm to free as much
The oom reaper ensures forward progress by setting MMF_OOM_SKIP itself if
it cannot reap an mm. This can happen for a variety of reasons,
including:
- the inability to grab mm->mmap_sem in a sufficient amount of time,
- when the mm has blockable mmu notifiers that could cause the oom reaper
9 matches
Mail list logo