On Mon, Mar 14, 2016 at 09:51:50AM +0100, Heiko Carstens wrote: > On Fri, Mar 11, 2016 at 11:52:38AM +0100, Anna-Maria Gleixner wrote: > > The cpumf_pmu_notfier() hotplug callback lacks handling of the > > CPU_DOWN_FAILED case. That means, if CPU_DOWN_PREPARE failes, the PMC > > of the CPU is not setup again. Furthermore the CPU_ONLINE_FROZEN case > > will never be processed because of masking the switch expression with > > CPU_TASKS_FROZEN. > > > > Add handling for CPU_DOWN_FAILED transition to setup the PMC of the > > CPU. Remove CPU_ONLINE_FROZEN case. > > > > Cc: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> > > Cc: Heiko Carstens <heiko.carstens@xxxxxxxxxx> > > Cc: linux-s390@xxxxxxxxxxxxxxx > > Signed-off-by: Anna-Maria Gleixner <anna-maria@xxxxxxxxxxxxx> > > --- > > arch/s390/kernel/perf_cpum_sf.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > --- a/arch/s390/kernel/perf_cpum_sf.c > > +++ b/arch/s390/kernel/perf_cpum_sf.c > > @@ -1518,7 +1518,7 @@ static int cpumf_pmu_notifier(struct not > > > > switch (action & ~CPU_TASKS_FROZEN) { > > case CPU_ONLINE: > > - case CPU_ONLINE_FROZEN: > > + case CPU_DOWN_FAILED: The change looks ok for me. Acked-by: Hendrik Brueckner <brueckner@xxxxxxxxxxxxxxxxxx> > > flags = PMC_INIT; > > smp_call_function_single(cpu, setup_pmc_cpu, &flags, 1); > > break; > > This is a bit odd, but independent from your patch: setup_pmc_cpu() will > only deallocate buffers but not allocate them. That's right. Allocation is done when an perf event is about to be scheduled on a CPU. > > Looking at the code a bit further this seems to imply that sampling will > not work on cpus that were added later. That might be a problem for task-based perf events. I will have a closer look into that issue. Many thanks. Kind regards, Hendrik -- To unsubscribe from this list: send the line "unsubscribe linux-s390" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html