Subject: + smp-print-more-useful-debug-info-upon-receiving-ipi-on-an-offline-cpu-fix.patch added to -mm tree To: akpm@xxxxxxxxxxxxxxxxxxxx,bp@xxxxxxx,ego@xxxxxxxxxxxxxxxxxx,fweisbec@xxxxxxxxx,hch@xxxxxxxxxxxxx,mgalbraith@xxxxxxx,mgorman@xxxxxxx,mingo@xxxxxxxxxx,oleg@xxxxxxxxxx,paulmck@xxxxxxxxxxxxxxxxxx,peterz@xxxxxxxxxxxxx,riel@xxxxxxxxxx,rjw@xxxxxxxxxxxxx,rostedt@xxxxxxxxxxx,rusty@xxxxxxxxxxxxxxx,srivatsa.bhat@xxxxxxxxxxxxxxxxxx,tglx@xxxxxxxxxxxxx,tj@xxxxxxxxxx From: akpm@xxxxxxxxxxxxxxxxxxxx Date: Tue, 06 May 2014 13:41:15 -0700 The patch titled Subject: smp-print-more-useful-debug-info-upon-receiving-ipi-on-an-offline-cpu-fix has been added to the -mm tree. Its filename is smp-print-more-useful-debug-info-upon-receiving-ipi-on-an-offline-cpu-fix.patch This patch should soon appear at http://ozlabs.org/~akpm/mmots/broken-out/smp-print-more-useful-debug-info-upon-receiving-ipi-on-an-offline-cpu-fix.patch and later at http://ozlabs.org/~akpm/mmotm/broken-out/smp-print-more-useful-debug-info-upon-receiving-ipi-on-an-offline-cpu-fix.patch Before you just go and hit "reply", please: a) Consider who else should be cc'ed b) Prefer to cc a suitable mailing list as well c) Ideally: find the original patch on the mailing list and do a reply-to-all to that, adding suitable additional cc's *** Remember to use Documentation/SubmitChecklist when testing your code *** The -mm tree is included into linux-next and is updated there every 3-4 working days ------------------------------------------------------ From: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Subject: smp-print-more-useful-debug-info-upon-receiving-ipi-on-an-offline-cpu-fix correctly suppress warning output on second and later occurrences Cc: "Paul E. McKenney" <paulmck@xxxxxxxxxxxxxxxxxx> Cc: "Srivatsa S. Bhat" <srivatsa.bhat@xxxxxxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: Christoph Hellwig <hch@xxxxxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Gautham R Shenoy <ego@xxxxxxxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: Mike Galbraith <mgalbraith@xxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Rafael J. Wysocki <rjw@xxxxxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Cc: Srivatsa S. Bhat <srivatsa.bhat@xxxxxxxxxxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Tejun Heo <tj@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- kernel/smp.c | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff -puN kernel/smp.c~smp-print-more-useful-debug-info-upon-receiving-ipi-on-an-offline-cpu-fix kernel/smp.c --- a/kernel/smp.c~smp-print-more-useful-debug-info-upon-receiving-ipi-on-an-offline-cpu-fix +++ a/kernel/smp.c @@ -185,20 +185,17 @@ void generic_smp_call_function_single_in { struct llist_node *entry; struct call_single_data *csd, *csd_next; - int warn = 0; - - /* - * Shouldn't receive this interrupt on a cpu that is not yet online. - */ - if (unlikely(!cpu_online(smp_processor_id()))) { - warn = 1; - WARN_ON_ONCE(1); - } + static bool warned; entry = llist_del_all(&__get_cpu_var(call_single_queue)); entry = llist_reverse_order(entry); - if (unlikely(warn)) { + /* + * Shouldn't receive this interrupt on a cpu that is not yet online. + */ + if (unlikely(!cpu_online(smp_processor_id()) && !warned)) { + warned = true; + WARN_ON(1); /* * We don't have to use the _safe() variant here * because we are not invoking the IPI handlers yet. _ Patches currently in -mm which might be from akpm@xxxxxxxxxxxxxxxxxxxx are arch-alpha-kernel-systblss-remove-debug-check.patch i-need-old-gcc.patch maintainers-akpm-maintenance.patch hugetlb-ensure-hugepage-access-is-denied-if-hugepages-are-not-supported.patch slub-use-sysfses-release-mechanism-for-kmem_cache.patch input-route-kbd-leds-through-the-generic-leds-layer.patch ocfs2-limit-printk-when-journal-is-aborted-fix.patch ocfs2-do-not-return-dlm_migrate_response_mastery_ref-to-avoid-endlessloop-during-umount.patch mm.patch mm-hugetlbfs-fix-rmapping-for-anonymous-hugepages-with-page_pgoff-v3-fix.patch pagewalk-update-page-table-walker-core-fix-end-address-calculation-in-walk_page_range-fix.patch pagemap-redefine-callback-functions-for-page-table-walker-fix.patch pagewalk-remove-argument-hmask-from-hugetlb_entry-fix-fix.patch mm-introduce-do_shared_fault-and-drop-do_fault-fix-fix.patch mm-compactionc-isolate_freepages_block-small-tuneup.patch mm-huge_memoryc-complete-conversion-to-pr_foo.patch include-linux-mmdebugh-add-vm_warn_on-and-vm_warn_on_once.patch mm-mempool-warn-about-__gfp_zero-usage-fix.patch mm-pass-vm_bug_on-reason-to-dump_page-fix.patch hugetlb-add-support-for-gigantic-page-allocation-at-runtime-checkpatch-fixes.patch mm-page_alloc-do-not-cache-reclaim-distances-fix.patch fs-hugetlbfs-inodec-complete-conversion-to-pr_foo.patch mm-compaction-cleanup-isolate_freepages-fix.patch arc-call-find_vma-with-the-mmap_sem-held-fix.patch mm-vmscan-do-not-throttle-based-on-pfmemalloc-reserves-if-node-has-no-zone_normal-checkpatch-fixes.patch swap-use-bdev_read_page-bdev_write_page-fix.patch do_shared_fault-check-that-mmap_sem-is-held.patch printk-release-lockbuf_lock-before-calling-console_trylock_for_printk-fix.patch init-mainc-dont-use-pr_debug.patch init-mainc-add-initcall_blacklist-kernel-parameter-fix.patch rtc-rtc-cmos-drivers-char-rtcc-features-for-decstation-support-fix.patch hfsplus-fixes-worst-case-unicode-to-char-conversion-of-file-names-and-attributes-fix.patch hfsplus-correct-usage-of-hfsplus_attr_max_strlen-for-non-english-attributes-fix.patch hfsplus-correct-usage-of-hfsplus_attr_max_strlen-for-non-english-attributes-fix-2.patch smp-print-more-useful-debug-info-upon-receiving-ipi-on-an-offline-cpu-fix.patch sysctl-allow-for-strict-write-position-handling-fix-2.patch sysctl-allow-for-strict-write-position-handling-fix.patch tools-testing-selftests-sysctl-validate-sysctl_writes_strict-fix.patch fs-pstore-logging-clean-up-fix.patch linux-next.patch linux-next-rejects.patch drivers-gpio-gpio-zevioc-fix-build.patch mm-page_ioc-work-around-gcc-bug.patch kernel-watchdogc-print-traces-for-all-cpus-on-lockup-detection-fix.patch ufs-sb-mutex-merge-mutex_destroy.patch debugging-keep-track-of-page-owners.patch journal_add_journal_head-debug.patch journal_add_journal_head-debug-fix.patch kernel-forkc-export-kernel_thread-to-modules.patch mutex-subsystem-synchro-test-module.patch slab-leaks3-default-y.patch put_bh-debug.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