Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757448AbbEVMBN (ORCPT ); Fri, 22 May 2015 08:01:13 -0400 Received: from mx1.redhat.com ([209.132.183.28]:52640 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756672AbbEVMBI (ORCPT ); Fri, 22 May 2015 08:01:08 -0400 From: Prarit Bhargava To: linux-kernel@vger.kernel.org Cc: len.brown@intel.com, andrey.semin@intel.com, Prarit Bhargava Subject: [PATCH 0/2] turbostat, support CPU0 hotplug Date: Fri, 22 May 2015 08:01:01 -0400 Message-Id: <1432296063-22185-1-git-send-email-prarit@redhat.com> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2330 Lines: 60 turbostat does not function properly on systems that support CPU0 hotplug. When running turbostat on these systems the following error is seen. [root@intel-chiefriver-04 ~]# turbostat ls turbostat: no /dev/cpu/0/msr Try "# modprobe msr": No such file or directory This happens because in many places turbostat hardcodes 0, and calls to check_dev_msr(), for example, will fail if CPU0 has been removed. This patchset adds functionality to determine the lowest found cpu on the system, and to use that value instead of 0. This patchset also moves setup_all_buffers() to the beginning of the turbostat_init() so that set_base_cpu() can take advantage of topo.max_cpu_num which is set in setup_all_buffers(). After this change, on a system that has CPU0 removed, [root@prarit ~]# ./turbostat -d -d ls turbostat version 4.5 2 Apr, 2015 - Len Brown num_cpus 7 max_cpu_num 7 cpu0 NOT PRESENT cpu 1 pkg 0 core 0 cpu 2 pkg 0 core 1 cpu 3 pkg 0 core 1 cpu 4 pkg 0 core 2 cpu 5 pkg 0 core 2 cpu 6 pkg 0 core 3 cpu 7 pkg 0 core 3 anaconda-ks.cfg README turbostat Core CPU Avg_MHz %Busy Bzy_MHz TSC_MHz SMI CPU%c1 CPU%c3 CP - - 492 14.20 3462 2634 0 18.90 0.00 0 1 353 9.95 3552 2645 0 9.68 0.00 1 2 217 7.70 2814 2614 0 64.63 0.00 1 3 2006 57.20 3507 2660 0 15.61 2 4 120 3.37 3570 2649 0 10.95 0.00 2 5 155 4.22 3679 2631 0 9.48 3 6 296 8.38 3530 2620 0 11.07 0.00 3 7 296 8.15 3630 2617 0 11.22 0.001160 sec I have additionally tested various other hotplug configurations to make sure that turbostat behaves correctly in those situations as well. Prarit Bhargava (2): turbostat, add base_cpu turbostat, add set_base_cpu() tools/power/x86/turbostat/turbostat.c | 49 +++++++++++++++++++++++++---------- 1 file changed, 35 insertions(+), 14 deletions(-) -- 1.8.3.1 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/