The patch titled Subject: mm-oom-introduce-oom-reaper-fix-3 has been removed from the -mm tree. Its filename was mm-oom-introduce-oom-reaper-fix-3.patch This patch was dropped because it was folded into mm-oom-introduce-oom-reaper.patch ------------------------------------------------------ From: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Subject: mm-oom-introduce-oom-reaper-fix-3 fix CONFIG_MMU=n build slub.c:(.text+0x4184): undefined reference to `tlb_gather_mmu' slub.c:(.text+0x41bc): undefined reference to `unmap_page_range' slub.c:(.text+0x41d8): undefined reference to `tlb_finish_mmu' Cc: Andrea Argangeli <andrea@xxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: Michal Hocko <mhocko@xxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- mm/oom_kill.c | 50 +++++++++++++++++++++++++++--------------------- 1 file changed, 29 insertions(+), 21 deletions(-) diff -puN mm/oom_kill.c~mm-oom-introduce-oom-reaper-fix-3 mm/oom_kill.c --- a/mm/oom_kill.c~mm-oom-introduce-oom-reaper-fix-3 +++ a/mm/oom_kill.c @@ -414,6 +414,7 @@ static DECLARE_WAIT_QUEUE_HEAD(oom_victi bool oom_killer_disabled __read_mostly; +#ifdef CONFIG_MMU /* * OOM Reaper kernel thread which tries to reap the memory used by the OOM * victim (if that is possible) to help the OOM killer to move on. @@ -516,6 +517,27 @@ static void wake_oom_reaper(struct mm_st mmdrop(mm); } +static int __init oom_init(void) +{ + oom_reaper_th = kthread_run(oom_reaper, NULL, "oom_reaper"); + if (IS_ERR(oom_reaper_th)) { + pr_err("Unable to start OOM reaper %ld. Continuing regardless\n", + PTR_ERR(oom_reaper_th)); + oom_reaper_th = NULL; + } else { + struct sched_param param = { .sched_priority = MAX_RT_PRIO-1 }; + + /* + * Make sure our oom reaper thread will get scheduled when + * ASAP and that it won't get preempted by malicious userspace. + */ + sched_setscheduler(oom_reaper_th, SCHED_FIFO, ¶m); + } + return 0; +} +module_init(oom_init) +#endif + /** * mark_oom_victim - mark the given task as OOM victim * @tsk: task to mark @@ -625,7 +647,9 @@ void oom_kill_process(struct oom_control unsigned int victim_points = 0; static DEFINE_RATELIMIT_STATE(oom_rs, DEFAULT_RATELIMIT_INTERVAL, DEFAULT_RATELIMIT_BURST); +#ifdef CONFIG_MMU bool can_oom_reap = true; +#endif /* * If the task is already exiting, don't alarm the sysadmin or kill @@ -718,6 +742,7 @@ void oom_kill_process(struct oom_control continue; if (is_global_init(p)) continue; +#ifdef CONFIG_MMU if (unlikely(p->flags & PF_KTHREAD) || p->signal->oom_score_adj == OOM_SCORE_ADJ_MIN) { /* @@ -728,13 +753,16 @@ void oom_kill_process(struct oom_control can_oom_reap = false; continue; } - +#endif do_send_sig_info(SIGKILL, SEND_SIG_FORCED, p, true); } rcu_read_unlock(); +#ifdef CONFIG_MMU if (can_oom_reap) wake_oom_reaper(mm); +#endif + mmdrop(mm); put_task_struct(victim); } @@ -886,23 +914,3 @@ void pagefault_out_of_memory(void) mutex_unlock(&oom_lock); } - -static int __init oom_init(void) -{ - oom_reaper_th = kthread_run(oom_reaper, NULL, "oom_reaper"); - if (IS_ERR(oom_reaper_th)) { - pr_err("Unable to start OOM reaper %ld. Continuing regardless\n", - PTR_ERR(oom_reaper_th)); - oom_reaper_th = NULL; - } else { - struct sched_param param = { .sched_priority = MAX_RT_PRIO-1 }; - - /* - * Make sure our oom reaper thread will get scheduled when - * ASAP and that it won't get preempted by malicious userspace. - */ - sched_setscheduler(oom_reaper_th, SCHED_FIFO, ¶m); - } - return 0; -} -module_init(oom_init) _ Patches currently in -mm which might be from akpm@xxxxxxxxxxxxxxxxxxxx are arch-alpha-kernel-systblss-remove-debug-check.patch drivers-gpu-drm-i915-intel_spritec-fix-build.patch drivers-gpu-drm-i915-intel_tvc-fix-build.patch ocfs2-fix-slot-overwritten-if-storage-link-down-during-mount-checkpatch-fixes.patch ocfs2-fix-ip_unaligned_aio-deadlock-with-dio-work-queue-fix.patch include-linux-dcacheh-remove-semicolons-from-hash_len_declare.patch mm.patch account-certain-kmem-allocations-to-memcg-checkpatch-fixes.patch include-define-__phys_to_pfn-as-phys_pfn-fix.patch mempolicy-convert-the-shared_policy-lock-to-a-rwlock-fix-2.patch mm-zonelist-enumerate-zonelists-array-index-checkpatch-fixes.patch mm-zonelist-enumerate-zonelists-array-index-fix.patch mm-get-rid-of-__alloc_pages_high_priority-checkpatch-fixes.patch fs-block_devc-bdev_write_page-use-blk_queue_enter-gfp_noio.patch arm64-mm-support-arch_mmap_rnd_bits-fix.patch ksm-introduce-ksm_max_page_sharing-per-page-deduplication-limit-fix-2.patch page-flags-define-pg_locked-behavior-on-compound-pages-fix.patch mm-rework-mapcount-accounting-to-enable-4k-mapping-of-thps-fix.patch mm-hwpoison-adjust-for-new-thp-refcounting-fix.patch mm-prepare-page_referenced-and-page_idle-to-new-thp-refcounting-checkpatch-fixes.patch thp-add-debugfs-handle-to-split-all-huge-pages-fix.patch mm-support-madvisemadv_free-fix-2-fix.patch arch-uapi-asm-mmanh-let-madv_free-have-same-value-for-all-architectures-fix.patch arch-uapi-asm-mmanh-let-madv_free-have-same-value-for-all-architectures-fix-fix-2.patch arch-uapi-asm-mmanh-let-madv_free-have-same-value-for-all-architectures-fix-fix-2-fix-3.patch mm-oom-rework-oom-detection-checkpatch-fixes.patch mm-use-watermak-checks-for-__gfp_repeat-high-order-allocations-checkpatch-fixes.patch sched-add-schedule_timeout_idle.patch mm-oom-introduce-oom-reaper.patch mm-oom-introduce-oom-reaper-fix-4-fix.patch mm-oom-introduce-oom-reaper-fix-5-fix.patch mm-mlockc-change-can_do_mlock-return-value-type-to-boolean-fix.patch mm-page_allocc-introduce-kernelcore=mirror-option-fix.patch mm-page_allocc-rework-code-layout-in-memmap_init_zone.patch kernel-stop_machinec-remove-config_smp-dependencies.patch kernel-stop_machinec-remove-config_smp-dependencies-fix.patch lib-vsprintfc-expand-field_width-to-24-bits-fix.patch lib-test_printfc-test-dentry-printing-fix.patch printk-help-pr_debug-and-pr_devel-to-optimize-out-arguments-fix.patch printk-nmi-generic-solution-for-safe-printk-in-nmi-v4-fix-fix.patch printk-nmi-warn-when-some-message-has-been-lost-in-nmi-context-fix.patch ptrace-task_stopped_codeptrace-=-true-cant-see-task_stopped-task-fix.patch ptrace-use-fsuid-fsgid-effective-creds-for-fs-access-checks-fix.patch fs-coredump-prevent-core-path-components-fix.patch ubsan-run-time-undefined-behavior-sanity-checker-fix.patch ubsan-run-time-undefined-behavior-sanity-checker-fix-3.patch linux-next-rejects.patch fs-overlayfs-superc-needs-pagemaph.patch drivers-net-wireless-intel-iwlwifi-dvm-calibc-fix-min-warning.patch fs-adfs-adfsh-tidy-up-comments.patch net-drop-tcp_memcontrolc-fix.patch mm-memcontrol-reign-in-the-config-space-madness-fix.patch mm-memcontrol-reign-in-the-config-space-madness-fix-fix.patch do_shared_fault-check-that-mmap_sem-is-held.patch kernel-forkc-export-kernel_thread-to-modules.patch slab-leaks3-default-y.patch -- To unsubscribe from this list: send the line "unsubscribe mm-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html