[PATCH 0/20] mmu: arch/mm: Port OOM changes to arch page fault handlers.

STALE5315d SUPERSEDED

Revision v1 of 3 in this series.

6 messages, 2 authors, 2012-03-31 · open the first message on its own page

[PATCH 0/20] mmu: arch/mm: Port OOM changes to arch page fault handlers.

From: Kautuk Consul <hidden>
Date: 2012-03-20 13:18:19

Commit d065bd810b6deb67d4897a14bfe21f8eb526ba99
(mm: retry page fault when blocking on disk transfer) and
commit 37b23e0525d393d48a7d59f870b3bc061a30ccdb
(x86,mm: make pagefault killable)

The above commits introduced changes into the x86 pagefault handler
for making the page fault handler retryable as well as killable.

These changes reduce the mmap_sem hold time, which is crucial
during OOM killer invocation.

I was facing hang and livelock problems on my ARM and MIPS boards when
I invoked OOM by running the stress_32k.c test-case attached to this email.

Since both the ARM and MIPS porting chainges were accepted, me and my
co-worker decided to take the initiative to port these changes to all other
MMU based architectures.

Please review and do write back if there is any way I need to
improve/rewrite any
of these patches.

Signed-off-by: Mohd. Faris <redacted>
Signed-off-by: Kautuk Consul <redacted>
---

Re: [PATCH 0/20] mmu: arch/mm: Port OOM changes to arch page fault handlers.

From: richard -rw- weinberger <hidden>
Date: 2012-03-20 13:30:54

On Tue, Mar 20, 2012 at 2:18 PM, Kautuk Consul [off-list ref] wrote:
Commit d065bd810b6deb67d4897a14bfe21f8eb526ba99
(mm: retry page fault when blocking on disk transfer) and
commit 37b23e0525d393d48a7d59f870b3bc061a30ccdb
(x86,mm: make pagefault killable)

The above commits introduced changes into the x86 pagefault handler
for making the page fault handler retryable as well as killable.

These changes reduce the mmap_sem hold time, which is crucial
during OOM killer invocation.

I was facing hang and livelock problems on my ARM and MIPS boards when
I invoked OOM by running the stress_32k.c test-case attached to this email.

Since both the ARM and MIPS porting chainges were accepted, me and my
co-worker decided to take the initiative to port these changes to all other
MMU based architectures.

Please review and do write back if there is any way I need to
improve/rewrite any
of these patches.
What about arch/um/?
Does UML not need this change?

-- 
Thanks,
//richard

Re: [PATCH 0/20] mmu: arch/mm: Port OOM changes to arch page fault handlers.

From: Kautuk Consul <hidden>
Date: 2012-03-20 13:34:47

What about arch/um/?
Does UML not need this change?
Oh yes, extremely sorry I accidentally missed that one out.
Mind if I send it separately ?
--
Thanks,
//richard

Re: [PATCH 0/20] mmu: arch/mm: Port OOM changes to arch page fault handlers.

From: richard -rw- weinberger <hidden>
Date: 2012-03-20 13:36:14

On Tue, Mar 20, 2012 at 2:34 PM, Kautuk Consul [off-list ref] wrote:
quoted
What about arch/um/?
Does UML not need this change?
Oh yes, extremely sorry I accidentally missed that one out.
Mind if I send it separately ?
No problem.
handle_page_fault() is the function you want to patch. :)

-- 
Thanks,
//richard

[PATCH 0/19 v2] mmu: arch/mm: Port OOM changes to arch page fault handlers.

From: Kautuk Consul <hidden>
Date: 2012-03-31 11:58:13

Commit d065bd810b6deb67d4897a14bfe21f8eb526ba99
(mm: retry page fault when blocking on disk transfer) and
commit 37b23e0525d393d48a7d59f870b3bc061a30ccdb
(x86,mm: make pagefault killable)

The above commits introduced changes into the x86 pagefault handler
for making the page fault handler retryable as well as killable.

These changes reduce the mmap_sem hold time, which is crucial
during OOM killer invocation.

I was facing hang and livelock problems on my ARM and MIPS boards when
I invoked OOM by running the stress_32k.c test-case attached to this email.

Since both the ARM and MIPS porting changes were accepted, me and my
co-worker decided to take the initiative to port these changes to all other
MMU based architectures.

This is v2 of this patch set as there were some problems with the v1 of this
patchset:
- Whitespace issues as reported by David Miller and Joe Perches
- In 2 of the patches, the write(or equivalent) local variable has
been removed from the
  page fault handler because it is not really needed anymore with the
advent of the "flags"
  local variable. Thanks to Geert Uytterhoeven for that.
- The powerpc patch for this has been removed as this has already been
done by someone
  else for powerpc.

At the moment, 8 of these patches have Acked these patches as valid.
I have included their ACKed-By headers for them in their respective
arch patches.

And thanks to Guan Xuetao for actually testing this out on unicore32.

Rest of the arch owners: Please review these patches.

Signed-off-by: Mohd. Faris <redacted>
Signed-off-by: Kautuk Consul <redacted>
---

Re: [PATCH 0/19 v2] mmu: arch/mm: Port OOM changes to arch page fault handlers.

From: Kautuk Consul <hidden>
Date: 2012-03-31 12:16:00

Ugh, sorry I forgot to attach the stress_32k.c test-case to this email.

Please find it attached to this one.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help