Messages in this thread | | | Date | Thu, 21 Aug 2008 20:36:59 -0400 | From | Dave Jones <> | Subject | Re: latest -git: WARNING: at arch/x86/kernel/ipi.c:123 send_IPI_mask_bitmask+0xc3/0xe0() |
| |
On Wed, Aug 20, 2008 at 08:26:19AM +0200, Vegard Nossum wrote: > On Wed, Aug 20, 2008 at 3:39 AM, Andi Kleen <andi@firstfloor.org> wrote: > > On Tue, Aug 19, 2008 at 09:51:44PM +0200, Vegard Nossum wrote: > >> Hi, > >> > >> With latest -git (1fca25427482387689fa27594c992a961d98768f), I got > >> this on reading from /dev/cpu/*/* while hot-unplugging cpu1. > > > > It's generally known the oprofile doesn't support CPU hotplug well. > > Someone needs to make a project out of fixing it properly. Right now > > it's just a "don't do that when it hurts" > > Hm. What you say is true, but this one in particular has nothing to do > with oprofile! It has something to do with reading /dev/cpu/*/msr > while hot-unplugging cpu1: > > [<c011733e>] msr_read+0x6e/0xa0 > [<c01a87b4>] vfs_read+0x94/0x130 > > I wasn't using oprofile when this happened. So I think it should also > be considered a separate issue. Though yes -- CPU hotplug in general > tends to break a lot of things.
From my reading of the msr code, we check that the cpu is online in ->open, but we never check it again, and also, we make no guarantees that it won't go away before we ->read or even ->close it.
Would adding a get_cpu/put_cpu across the open/close solve this? Peter?
Dave
-- http://www.codemonkey.org.uk
| |