public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Oleg Nesterov <oleg@redhat.com>
To: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
Cc: Heiko Carstens <heiko.carstens@de.ibm.com>,
	Ingo Molnar <mingo@elte.hu>, "Rafael J. Wysocki" <rjw@sisk.pl>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	Kernel Testers List <kernel-testers@vger.kernel.org>,
	Rusty Russell <rusty@rustcorp.com.au>,
	Vegard Nossum <vegard.nossum@gmail.com>,
	Peter Zijlstra <a.p.zijlstra@chello.nl>,
	Dmitry Adamushko <dmitry.adamushko@gmail.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Steven Rostedt <srostedt@redhat.com>
Subject: Q: force_quiescent_state && cpu_online_map
Date: Tue, 11 Nov 2008 18:03:27 +0100	[thread overview]
Message-ID: <20081111170327.GB18214@redhat.com> (raw)
In-Reply-To: <20081111150225.GA10743@linux.vnet.ibm.com>

I don't think this matters, but still...

	force_quiescent_state:

			 * cpu_online_map is updated by the _cpu_down()
			 * using __stop_machine(). Since we're in irqs disabled
			 * section, __stop_machine() is not exectuting, hence
			 * the cpu_online_map is stable.
			 *
			 * However,  a cpu might have been offlined _just_ before
			 * we disabled irqs while entering here.
			 * And rcu subsystem might not yet have handled the CPU_DEAD
			 * notification, leading to the offlined cpu's bit
			 * being set in the rcp->cpumask.
			 *
			 * Hence cpumask = (rcp->cpumask & cpu_online_map) to prevent
			 * sending smp_reschedule() to an offlined CPU.
			 */
			cpus_and(cpumask, rcp->cpumask, cpu_online_map);
			cpu_clear(rdp->cpu, cpumask);
			for_each_cpu_mask_nr(cpu, cpumask)
				smp_send_reschedule(cpu);

However,

	// called by __stop_machine take_cpu_down()
	arch/x86/kernel/smpboot.c:cpu_disable_common()

		/*
		 * HACK:
		 * Allow any queued timer interrupts to get serviced
		 * This is only a temporary solution until we cleanup
		 * fixup_irqs as we do for IA64.
		 */
		local_irq_enable();
		mdelay(1);
		local_irq_disable();
		...
		remove_cpu_from_maps(cpu);

So it is possible to send the ipi to the dying CPU. I know nothing
about this low-level irq code, most probably this is harmless. We
already did clear_local_APIC(), but I don't understand what it does.

Oleg.


  parent reply	other threads:[~2008-11-11 16:08 UTC|newest]

Thread overview: 105+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-11-09 17:53 2.6.28-rc3-git6: Reported regressions from 2.6.27 Rafael J. Wysocki
2008-11-09 17:53 ` [Bug #11799] xorg can not start up with stolen memory Rafael J. Wysocki
2008-11-09 17:54 ` [Bug #11806] iwl3945 fails with microcode error Rafael J. Wysocki
2008-11-09 17:59 ` [Bug #11841] plenty of line "ACPI: EC: non-query interrupt received, switching to interrupt mode" in dmesg and system not powering down Rafael J. Wysocki
2008-11-09 17:59 ` [Bug #11826] extreme slowness of IO stuff using 2.6.28-rc1 Rafael J. Wysocki
2008-11-09 17:59 ` [Bug #11834] iwl3945: if I leave my machine running overnight, wifi will not work in the morning Rafael J. Wysocki
2008-11-09 17:59 ` [Bug #11822] ACPI Warning (nspredef-0858): _SB_.PCI0.LPC_.EC__.BAT0._BIF: Return Package type mismatch at index 9 - found Buffer, expected String [20080926] Rafael J. Wysocki
2008-11-09 17:59 ` [Bug #11849] default IRQ affinity change in v2.6.27 (breaking several SMP PPC based systems) Rafael J. Wysocki
2008-11-09 17:59 ` [Bug #11891] resume from disk broken on hp/compaq nx7000 (DRM problem) Rafael J. Wysocki
2008-11-09 17:59 ` [Bug #11858] Timeout regression introduced by 242f9dcb8ba6f68fcd217a119a7648a4f69290e9 Rafael J. Wysocki
2008-11-09 17:59 ` [Bug #11875] radeonfb lockup in .28-rc (bisected) Rafael J. Wysocki
2008-11-09 21:15   ` Benjamin Herrenschmidt
2008-11-10  5:46   ` Benjamin Herrenschmidt
2008-11-10  7:13     ` Paul Collins
2008-11-10  9:05       ` Benjamin Herrenschmidt
2008-11-10  9:06     ` David Miller
2008-11-10 20:39     ` Andreas Schwab
2008-11-10 21:52       ` Benjamin Herrenschmidt
2008-11-10 23:20         ` Andreas Schwab
2008-11-10 23:34           ` Benjamin Herrenschmidt
2008-11-10 23:54             ` Andreas Schwab
2008-11-11  1:49               ` Benjamin Herrenschmidt
2008-11-11  2:47                 ` Linus Torvalds
2008-11-11  3:21                   ` Benjamin Herrenschmidt
2008-11-11  9:31                 ` Andreas Schwab
2008-11-11 11:30                   ` Benjamin Herrenschmidt
2008-11-21  2:55                   ` Benjamin Herrenschmidt
2008-11-21  3:02                   ` Benjamin Herrenschmidt
2008-11-13 23:11     ` David Miller
2008-11-14  0:54       ` Benjamin Herrenschmidt
2008-11-14  2:50         ` David Miller
2008-11-14  3:04           ` David Miller
2008-11-14  3:29             ` Benjamin Herrenschmidt
2008-11-14  4:28               ` David Miller
2008-11-14  8:51                 ` Benjamin Herrenschmidt
2008-11-09 17:59 ` [Bug #11873] unable to mount ext3 root filesystem due to htree_dirblock_to_tree Rafael J. Wysocki
2008-11-09 17:59 ` [Bug #11896] [2.6.28-rc2] EeePC ACPI errors &amp; exceptions Rafael J. Wysocki
2008-11-09 17:59 ` [Bug #11899] sometime boot failed on T61 laptop Rafael J. Wysocki
2008-11-09 17:59 ` [Bug #11895] 2.6.28-rc2 regression: keyboard dead after reboot on Toshiba Portege 4000 Rafael J. Wysocki
2008-11-10 16:53   ` Andrey Borzenkov
2008-11-10 18:06     ` Rafael J. Wysocki
2008-11-09 17:59 ` [Bug #11898] mke2fs hang on AIC79 device Rafael J. Wysocki
2008-11-09 17:59 ` [Bug #11906] 2.6.28-rc2 seems to fail at powering down the monitor when it should Rafael J. Wysocki
2008-11-09 17:59 ` [Bug #11905] lots of extra timer interrupts costing 2W Rafael J. Wysocki
2008-11-09 17:59 ` [Bug #11903] regression: vmalloc easily fail Rafael J. Wysocki
2008-11-09 17:59 ` [Bug #11917] Asus Eee PC hotkeys stop working after prolonged usage Rafael J. Wysocki
2008-11-09 17:59 ` [Bug #11911] new PCMCIA device instance after resume - orinoco can't download firmware Rafael J. Wysocki
2008-11-10  3:55   ` Andrey Borzenkov
2008-11-09 17:59 ` [Bug #11913] USB/INPUT: slab error in cache_alloc_debugcheck_after(): double free? Rafael J. Wysocki
2008-11-09 17:59 ` [Bug #11908] linux-2.6.28-rc2 regression : oprofile doesnt work anymore Rafael J. Wysocki
2008-11-09 17:59 ` [Bug #11925] cdrom: missing compat ioctls Rafael J. Wysocki
2008-11-09 23:00   ` Andreas Schwab
2008-11-09 23:29     ` Rafael J. Wysocki
2008-11-09 23:39       ` Andreas Schwab
2008-11-09 17:59 ` [Bug #11937] ext3 __log_wait_for_space: no transactions Rafael J. Wysocki
2008-11-09 17:59 ` [Bug #11928] ath5k gets lost with eeepc-laptop removal Rafael J. Wysocki
2008-11-09 17:59 ` [Bug #11942] AMD64 reboot regression Rafael J. Wysocki
2008-11-09 17:59 ` [Bug #11947] 2.6.28-rc VC switching with Intel graphics broken Rafael J. Wysocki
2008-11-11  9:28   ` Romano Giannetti
2008-11-09 17:59 ` [Bug #11965] regression introduced by - timers: fix itimer/many thread hang Rafael J. Wysocki
2008-11-09 17:59 ` [Bug #11958] [2.6.27.x =&gt; 2.6.28-rc3] Xorg crash with xf86MapVidMem error Rafael J. Wysocki
2008-11-09 17:59 ` [Bug #11984] regression when switching TTY-&gt;X, input related? Rafael J. Wysocki
2008-11-09 17:59 ` [Bug #11985] 2.6.28-rc3 truncates nfsd results Rafael J. Wysocki
2008-11-09 21:05   ` J. Bruce Fields
2008-11-09 17:59 ` [Bug #11982] Fan level 7 after resume wit 2.6.28-rc3 Rafael J. Wysocki
2008-11-09 17:59 ` [Bug #11970] gettimeofday return a old time in mmbench Rafael J. Wysocki
2008-11-09 17:59 ` [Bug #11994] Computer doesn't power down after commit CPI: EC: do transaction from interrupt context Rafael J. Wysocki
2008-11-09 17:59 ` [Bug #11988] Eliminate recursive mutex in compat fb ioctl path Rafael J. Wysocki
2008-11-14 14:51   ` Geert Uytterhoeven
2008-11-15 11:51     ` Rafael J. Wysocki
2008-11-09 17:59 ` [Bug #11989] Suspend failure on NForce4-based boards due to chanes in stop_machine Rafael J. Wysocki
2008-11-10 12:04   ` Heiko Carstens
2008-11-10 14:47     ` Rafael J. Wysocki
2008-11-10 22:55       ` Rafael J. Wysocki
2008-11-11 10:52         ` Ingo Molnar
2008-11-11 11:31           ` Heiko Carstens
2008-11-11 12:42             ` Heiko Carstens
2008-11-11 13:13               ` Ingo Molnar
2008-11-11 14:35               ` Paul E. McKenney
2008-11-11 15:01                 ` Heiko Carstens
2008-11-11 16:17                   ` Paul E. McKenney
2008-11-11 15:02                 ` Paul E. McKenney
2008-11-11 16:14                   ` Heiko Carstens
2008-11-11 16:45                     ` Paul E. McKenney
2008-11-11 17:34                       ` Paul E. McKenney
2008-11-12  9:05                         ` Heiko Carstens
2008-11-12 16:03                           ` Paul E. McKenney
2008-11-12 16:51                             ` Heiko Carstens
2008-11-12 19:43                               ` Paul E. McKenney
2008-11-11 17:03                   ` Oleg Nesterov [this message]
2008-11-11 17:25                     ` Q: force_quiescent_state && cpu_online_map Paul E. McKenney
2008-11-11 13:36           ` [Bug #11989] Suspend failure on NForce4-based boards due to chanes in stop_machine Vegard Nossum
2008-11-11 13:46             ` Vegard Nossum
2008-11-11 13:49             ` Peter Zijlstra
2008-11-11 14:47           ` Vegard Nossum
2008-11-11 15:11             ` Dmitry Adamushko
2008-11-11 16:31             ` Oleg Nesterov
2008-11-12  3:30               ` Rusty Russell
2008-11-12  3:39           ` Rusty Russell
2008-11-15 13:37             ` Rafael J. Wysocki
2008-11-11 21:28         ` Dmitry Adamushko
2008-11-11 23:43           ` Rafael J. Wysocki
2008-11-09 17:59 ` [Bug #11987] Bootup time regression from 2.6.27 to 2.6.28-rc3+ Rafael J. Wysocki
2008-11-09 17:59 ` [Bug #11986] 2.6.28-rc2-git1: spitz still won't boot Rafael J. Wysocki
2008-11-09 17:59 ` [Bug #11996] Tracing framework regression in 2.6.28-rc3 Rafael J. Wysocki

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20081111170327.GB18214@redhat.com \
    --to=oleg@redhat.com \
    --cc=a.p.zijlstra@chello.nl \
    --cc=akpm@linux-foundation.org \
    --cc=dmitry.adamushko@gmail.com \
    --cc=heiko.carstens@de.ibm.com \
    --cc=kernel-testers@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=paulmck@linux.vnet.ibm.com \
    --cc=rjw@sisk.pl \
    --cc=rusty@rustcorp.com.au \
    --cc=srostedt@redhat.com \
    --cc=vegard.nossum@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox