linux/arch/arm/mm
Kautuk Consul 8878a539ff ARM: 7178/1: fault.c: Port OOM changes into do_page_fault
Commit d065bd810b
(mm: retry page fault when blocking on disk transfer) and
commit 37b23e0525
(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.

Port these changes to ARM.

Without these changes, my ARM board encounters many hang and livelock
scenarios.
After applying this patch, OOM feature performance improves according to
my testing.

Signed-off-by: Kautuk Consul <consul.kautuk@gmail.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2011-12-06 11:15:26 +00:00
..
abort-ev4.S ARM: entry: data abort: tail-call the main data abort handler 2011-07-02 10:56:11 +01:00
abort-ev4t.S ARM: entry: data abort: tail-call the main data abort handler 2011-07-02 10:56:11 +01:00
abort-ev5t.S ARM: entry: data abort: tail-call the main data abort handler 2011-07-02 10:56:11 +01:00
abort-ev5tj.S ARM: entry: data abort: tail-call the main data abort handler 2011-07-02 10:56:11 +01:00
abort-ev6.S ARM: entry: data abort: tail-call the main data abort handler 2011-07-02 10:56:11 +01:00
abort-ev7.S ARM: entry: data abort: tail-call the main data abort handler 2011-07-02 10:56:11 +01:00
abort-lv4t.S ARM: entry: data abort: ensure r5 is preserved by abort functions 2011-07-02 10:56:12 +01:00
abort-macro.S ARM: 7088/1: entry: fix wrong parameter name used in do_thumb_abort 2011-09-10 23:39:56 +01:00
abort-nommu.S ARM: entry: data abort: tail-call the main data abort handler 2011-07-02 10:56:11 +01:00
alignment.c ARM: allow building alignment.c without PROC_FS 2011-10-01 21:08:54 +02:00
cache-fa.S ARM: mm: cache-fa: Use the new processor struct macros 2011-07-07 15:31:05 +01:00
cache-feroceon-l2.c ARM: fix cache-feroceon-l2 after stack based kmap_atomic() 2010-12-19 12:57:16 -05:00
cache-l2x0.c ARM: 7162/1: errata: tidy up Kconfig options for PL310 errata workarounds 2011-11-21 13:12:18 +00:00
cache-tauros2.c
cache-v3.S ARM: mm: cache-v3: Use the new processor struct macros 2011-07-07 15:31:05 +01:00
cache-v4.S ARM: mm: cache-v4: Use the new processor struct macros 2011-07-07 15:31:06 +01:00
cache-v4wb.S ARM: mm: cache-v4wb: Use the new processor struct macros 2011-07-07 15:31:06 +01:00
cache-v4wt.S ARM: mm: cache-v4wt: Use the new processor struct macros 2011-07-07 15:31:06 +01:00
cache-v6.S ARM: mm: cache-v6: Use the new processor struct macros 2011-07-07 15:31:06 +01:00
cache-v7.S ARM: 7091/1: errata: D-cache line maintenance operation by MVA may not succeed 2011-09-17 12:47:17 +01:00
cache-xsc3l2.c ARM: fix cache-xsc3l2 after stack based kmap_atomic() 2010-12-19 12:57:08 -05:00
context.c locking, ARM: Annotate low level hw locks as raw 2011-09-13 11:12:14 +02:00
copypage-fa.c ARM: Gemini: fix compiler error in copypage-fa.c 2010-04-27 12:45:10 +02:00
copypage-feroceon.c ARM: 6164/1: Add kto and kfrom to input operands list. 2010-06-08 19:42:18 +01:00
copypage-v3.c
copypage-v4mc.c locking, ARM: Annotate low level hw locks as raw 2011-09-13 11:12:14 +02:00
copypage-v4wb.c ARM: 6164/1: Add kto and kfrom to input operands list. 2010-06-08 19:42:18 +01:00
copypage-v4wt.c ARM: 6164/1: Add kto and kfrom to input operands list. 2010-06-08 19:42:18 +01:00
copypage-v6.c locking, ARM: Annotate low level hw locks as raw 2011-09-13 11:12:14 +02:00
copypage-xsc3.c ARM: 6164/1: Add kto and kfrom to input operands list. 2010-06-08 19:42:18 +01:00
copypage-xscale.c locking, ARM: Annotate low level hw locks as raw 2011-09-13 11:12:14 +02:00
dma-mapping.c ARM: 7172/1: dma: Drop GFP_COMP for DMA memory allocations 2011-11-26 21:58:53 +00:00
extable.c
fault-armv.c arm: remove several unnecessary module.h include instances 2011-10-31 19:30:48 -04:00
fault.c ARM: 7178/1: fault.c: Port OOM changes into do_page_fault 2011-12-06 11:15:26 +00:00
fault.h
flush.c Merge branches 'consolidate', 'ep93xx', 'fixes', 'misc', 'mmci', 'remove' and 'spear' into for-linus 2011-05-23 19:27:40 +01:00
highmem.c ARM: get rid of kmap_high_l1_vipt() 2010-12-19 12:56:46 -05:00
idmap.c ARM: pgtable: add pud-level code 2011-02-21 19:24:14 +00:00
init.c arm: Add export.h to ARM specific files as required. 2011-10-31 19:30:50 -04:00
iomap.c ARM: set vga memory base at run-time 2011-07-12 11:19:29 -05:00
ioremap.c ARM: 7129/1: Add __arm_ioremap_exec for mapping external memory as MT_MEMORY 2011-10-22 22:24:48 +01:00
Kconfig Merge branch 'imx/imx6q' into next/soc 2011-11-02 02:46:55 +01:00
Makefile ARM: v6k: introduce CPU_V6K option 2011-02-02 21:23:26 +00:00
mm.h ARM: 7076/1: LPAE: Add (pte|pmd)val_t type definitions as u32 2011-10-06 15:40:05 +01:00
mmap.c ARM: 7169/1: topdown mmap support 2011-12-06 11:15:25 +00:00
mmu.c Merge branch 'devel-stable' of http://ftp.arm.linux.org.uk/pub/linux/arm/kernel/git-cur/linux-2.6-arm 2011-10-28 12:02:27 -07:00
nommu.c ARM: move memory layout sanity checking before meminfo initialization 2011-07-05 20:27:16 +01:00
pabort-legacy.S ARM: entry: prefetch abort: tail-call the main prefetch abort handler 2011-07-02 10:56:10 +01:00
pabort-v6.S ARM: entry: prefetch abort: tail-call the main prefetch abort handler 2011-07-02 10:56:10 +01:00
pabort-v7.S ARM: entry: prefetch abort: tail-call the main prefetch abort handler 2011-07-02 10:56:10 +01:00
pgd.c Merge branches 'fixes', 'pgt-next' and 'versatile' into devel 2011-03-20 09:32:12 +00:00
proc-arm6_7.S Merge branch 'devel-stable' into for-next 2011-07-22 23:09:07 +01:00
proc-arm7tdmi.S ARM: mm: proc-arm7tdmi: Use the new processor struct macros 2011-07-07 15:31:08 +01:00
proc-arm9tdmi.S ARM: mm: proc-arm9tdmi: Use the new processor struct macros 2011-07-07 15:31:09 +01:00
proc-arm720.S ARM: mm: proc-arm720: Use the new processor struct macros 2011-07-07 15:31:07 +01:00
proc-arm740.S ARM: mm: proc-arm740: Use the new processor struct macros 2011-07-07 15:31:08 +01:00
proc-arm920.S ARM: pm: only use preallocated page table during resume 2011-09-20 23:33:38 +01:00
proc-arm922.S ARM: mm: proc-arm922: Use the new processor struct macros 2011-07-07 15:31:08 +01:00
proc-arm925.S ARM: mm: proc-arm925: Use the new processor struct macros 2011-07-07 15:31:09 +01:00
proc-arm926.S ARM: pm: only use preallocated page table during resume 2011-09-20 23:33:38 +01:00
proc-arm940.S ARM: mm: proc-arm940: Use the new processor struct macros 2011-07-07 15:31:09 +01:00
proc-arm946.S ARM: 7005/1: freshen up mm/proc-arm946.S 2011-08-09 08:42:38 +01:00
proc-arm1020.S ARM: mm: proc-arm1020: Use the new processor struct macros 2011-07-07 15:31:07 +01:00
proc-arm1020e.S ARM: mm: proc-arm1020e: Use the new processor struct macros 2011-07-07 15:31:07 +01:00
proc-arm1022.S ARM: mm: proc-arm1022: Use the new processor struct macros 2011-07-07 15:31:07 +01:00
proc-arm1026.S ARM: mm: proc-arm1026: Use the new processor struct macros 2011-07-07 15:31:07 +01:00
proc-fa526.S ARM: mm: proc-fa526: Use the new processor struct macros 2011-07-07 15:31:09 +01:00
proc-feroceon.S ARM: mm: proc-feroceon: Use the new processor struct macros 2011-07-07 15:31:10 +01:00
proc-macros.S ARM: Fix build errors caused by adding generic macros 2011-07-21 17:49:54 +01:00
proc-mohawk.S ARM: mm: proc-mohawk: Use the new processor struct macros 2011-07-07 15:31:10 +01:00
proc-sa110.S ARM: mm: proc-sa110: Use the new processor struct macros 2011-07-07 15:31:10 +01:00
proc-sa1100.S ARM: pm: only use preallocated page table during resume 2011-09-20 23:33:38 +01:00
proc-syms.c ARM: add size argument to __cpuc_flush_dcache_page 2009-12-14 14:53:22 +00:00
proc-v6.S ARM: pm: no need to save/restore context ID register 2011-09-20 23:33:40 +01:00
proc-v7.S Merge branch 'devel-stable' of http://ftp.arm.linux.org.uk/pub/linux/arm/kernel/git-cur/linux-2.6-arm 2011-10-28 12:02:27 -07:00
proc-xsc3.S ARM: pm: only use preallocated page table during resume 2011-09-20 23:33:38 +01:00
proc-xscale.S ARM: pm: only use preallocated page table during resume 2011-09-20 23:33:38 +01:00
tlb-fa.S Merge branch 'devel-stable' into for-next 2011-07-22 23:09:07 +01:00
tlb-v3.S ARM: mm: tlb-v3: Use the new processor struct macros 2011-07-07 15:31:11 +01:00
tlb-v4.S ARM: mm: tlb-v4: Use the new processor struct macros 2011-07-07 15:31:12 +01:00
tlb-v4wb.S ARM: mm: tlb-v4wb: Use the new processor struct macros 2011-07-07 15:31:12 +01:00
tlb-v4wbi.S ARM: mm: tlb-v4wbi: Use the new processor struct macros 2011-07-07 15:31:12 +01:00
tlb-v6.S Merge branch 'devel-stable' into for-next 2011-07-22 23:09:07 +01:00
tlb-v7.S Merge branch 'devel-stable' into for-next 2011-07-22 23:09:07 +01:00
vmregion.c ARM: DMA: top-down allocation in DMA coherent region 2011-02-23 17:24:11 +00:00
vmregion.h ARM: DMA coherent allocator: align remapped addresses 2010-07-27 10:43:48 +01:00