From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752778AbbJZDia (ORCPT ); Sun, 25 Oct 2015 23:38:30 -0400 Received: from mail-by2on0085.outbound.protection.outlook.com ([207.46.100.85]:30688 "EHLO na01-by2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752488AbbJZDi2 (ORCPT ); Sun, 25 Oct 2015 23:38:28 -0400 Authentication-Results: spf=none (sender IP is 165.204.84.221) smtp.mailfrom=amd.com; alien8.de; dkim=none (message not signed) header.d=none;alien8.de; dmarc=permerror action=none header.from=amd.com; X-WSS-ID: 0NWT63V-07-5PC-02 X-M-MSG: Date: Mon, 26 Oct 2015 11:37:23 +0800 From: Huang Rui To: Guenter Roeck , Borislav Petkov CC: Borislav Petkov , Peter Zijlstra , "Jean Delvare" , Andy Lutomirski , "Andreas Herrmann" , Thomas Gleixner , Ingo Molnar , "Rafael J. Wysocki" , "Len Brown" , John Stultz , =?utf-8?B?RnLvv71k77+9cmlj?= Weisbecker , , , , Andreas Herrmann , Aravind Gopalakrishnan , Fengguang Wu , Aaron Lu , Tony Li Subject: Re: [PATCH v2 06/10] hwmon: (fam15h_power) Add ptsc counter value for accumulated power Message-ID: <20151026033722.GD8036@hr-amur2> References: <1445308109-17970-1-git-send-email-ray.huang@amd.com> <1445308109-17970-7-git-send-email-ray.huang@amd.com> <562A3D37.9080400@roeck-us.net> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Disposition: inline In-Reply-To: <562A3D37.9080400@roeck-us.net> User-Agent: Mutt/1.5.21 (2010-09-15) X-EOPAttributedMessage: 0 X-Forefront-Antispam-Report: CIP:165.204.84.221;CTRY:US;IPV:NLI;EFV:NLI;SFV:NSPM;SFS:(10009020)(6009001)(2980300002)(428002)(189002)(377454003)(164054003)(199003)(479174004)(24454002)(77096005)(83506001)(575784001)(86362001)(19580395003)(19580405001)(50466002)(33716001)(23726002)(97756001)(47776003)(87936001)(5001770100001)(2950100001)(97736004)(5008740100001)(4001350100001)(189998001)(5007970100001)(11100500001)(101416001)(46406003)(50986999)(54356999)(76176999)(106466001)(92566002)(105586002)(33656002)(107986001);DIR:OUT;SFP:1101;SCL:1;SRVR:DM3PR12MB0860;H:atltwp01.amd.com;FPR:;SPF:None;PTR:InfoDomainNonexistent;MX:1;A:1;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;DM3PR12MB0860;2:bjeSrGv3bK6Y1/X1nNTYzvMiirslwFJHIUjgrY396m5McJsVVM4bLgfx74+5QeIHlElKEHVOKx6TZ1ycgLpBJ7O+iMF/ZiBH+ZFTzC8rMkJ3EdYj/IJVYlpWuLlp2bdOZ/H3vvbK6nmjRvNLVqQzABe6+c9D2btIuroYpx1pIeU=;3:8SDlc4Lwi9w43F6inoDdYudyl3wc62fNL8ElsphHTtHqD3/g4hqs5Gtny+YY7Rd+BcvOxEWjaG7heT3ETRC2OQLWPm6TWFaMmUw5oBLhYEO0w29r/SPyU1NOGUALtK2fFpeLjt3gEPHfy0XYkONXDkdpgnPALG8f21yjEx5r3QaZjkRSlSsfSCXwz6uOWH0FaDPXlgl3kvLAYAOBJupquf+kpGlmbqHpPw3xq/yrhNN+xM4DBa3T9ZZ4wlG96zm1;25:4RT+oZ8HMUl/SKzIfYQ7NNaEFVXXb8i/OeS4wxb4sa+M04ML1vT0/2NzyP6N/plgtOEu9j7XJnvqM7ynUEpxJDEGF7lZUqtqYHcKV7fbObPPEenrsaIL+UACpB5cfgG9bSsYa55fcUwrLnGCy2VhU5jzjtZysPdHw/lBN4o9mmKS/j3Y5HdzTy6aXjcbO4dE/D+t6kjPhgOMzsosQZTh4oHRmsWzMcQH7qIda7Zok/h9i8/6n+rEWYj2NEa4uTp1QkGkG1amK+jFGjALrylC2A== X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:DM3PR12MB0860; X-Microsoft-Exchange-Diagnostics: 1;DM3PR12MB0860;20:wWK0mXZUFffCRUFL8rLgQkISxmArXgQXMJuCBWrsdNVu+09gtzyGHRwKz+RPl/mhOEggDA5/1RKQ8Td7jC8+lt3AgmqRWIHR9f9i2v0aa0gP+9ONJBjIn4BVDDqItrT73GNCXAzzOPpCNtsRR5Tj3Ft5CPGGR6IkE/+DsgOq6StG0cG60jRrtZLqWdK62NJXqwcBWcVSnGdkHHpeLfQK60xe6ZzlPLX5pbgTT/Q9RUI9OYQIY6qEituYCDvVtmbWViimO8bDRYhqX2WRJOXAKKATmXtjLxjxm9kv0Q8vhHYXgOR5UsTY3+Yqg001141e4XpUQ0AHPpGiTIGdcU5QYaN6M8VATAct9RV4K9kdnRNix0YxWEdCOMA/VxMS+1nIMOOQcMZ8fGEyCKs4hiKc0LKF04/8evFPNlfCKB2WXFhFFJqnQ2Y8VmzkX8UMP4Ti5RdJGEfQm8AROUHraCn+QKceJXqVc6jbyabfasuOOUilEIZbSQeNhKMn5BYyvy7m;4:l+Pf7moRHcLVezHxMOlxRDyb6wJCLLXLwM2rr9NVrxj3VOsGISadwNWReDkFY/juTyZfjMamXvHeclgj0Jdt2RiVkAx/3Mbhiy3wthjn535fn1/cJ0PEl602WNcePwRHepf79K16yJj8BYHSC6rSDiMkx5vGBJyjeqRADkIx/QNaJqdOijJkuiDvHdqsSrbuIXjTNaOCSZyiTZT0BfvcMgNRi5wStPVL9Y9G/7jZRpcZ7VLu21e8fm5kqHwXukE1HpK1MoK4TrMkXNlz2bot6jQksclraWIhpsW6luRXXxYhXhUBQLcba7DCdLtSM+2uZm+f3IapOP3lHt71qJ6AkzW9UV9Hg4JC1dGHfyoYq+b+Jesd8g8oZ4T249nERN8X X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(767451399110); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(2401047)(520078)(5005006)(8121501046)(3002001)(102215026);SRVR:DM3PR12MB0860;BCL:0;PCL:0;RULEID:;SRVR:DM3PR12MB0860; X-Forefront-PRVS: 0741C77572 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;DM3PR12MB0860;23:eSrdXlZE+VzOAlCRWaD33jKxbVjh/w/6lf9jTdjmT?= =?us-ascii?Q?9xTcQUmgphJQFg5QSmtHeUS04gr3dRrIYZTX6ZM/nopPHPSg9OL+WoN/3Kna?= =?us-ascii?Q?xlF+pRg9WcShNIc5B7XZixyztY1ZRi76VnpkVIXpnC1Y34k4HrR4pP7dB57h?= =?us-ascii?Q?uuL1btIOzlKU1/tDmcGdD/HO3kqop1V4UuGqiW+wF+469SUN4GAFhQsZ4YXI?= =?us-ascii?Q?kMcG8lAcUZ0gLeFpbybTycRdaHaa9C9EYOVLjrD8zgbVApYAt5JCNCO7+RVL?= =?us-ascii?Q?UHpltpALNwV9XhHwM4Hr3FPRIxX5z/iS4f2gbwJ2RJa9SkxcTMNS52kUvfE8?= =?us-ascii?Q?RcUKT2+0xXte9P34/sqwGbb9Xh74vcWuGB8urG/Iu9fla08YRFHWKEd3pp5R?= =?us-ascii?Q?Y1rEGUqEHF+x+koqZFXB6/3X3HJXwr6ryycXL4JttagWeDgtw9Y6wfqMJMoj?= =?us-ascii?Q?8Zl2rSdVkYZ8Tr4bEx2ITSA2hI28DBuVt5NF5zPhaeLoFXouGbPK1JI7waZV?= =?us-ascii?Q?P1EMmrFyQoD7ZcMyamsElrVUgFa0fqXXSNPy12PpSo/TMj8m4Ew/8h0ktZzd?= =?us-ascii?Q?rrEnXkV07DHip4OVtvBzGTAZR0rwzYY7CLBLjycsKK0qwugoKHn4k4yRIU6J?= =?us-ascii?Q?7O+alyvjt3qVpftVfiCFzbbXtx5pd0f3XGJ+yrzuzKhe/s3KpmrvY/waQuee?= =?us-ascii?Q?DmEzssTVEzzpp6OdD8BvLdiwFFDw4cYJfRb1Zc+oxQLSleO/uqW5R32RP6bF?= =?us-ascii?Q?HWe96bbOz01QxGbY2Nm9zaJ6UXMsZAwpxe4vmeJJD15Oy1pkuYNs1LYgLt1b?= =?us-ascii?Q?XV9wn9cyb4lXiue17zSFD7OT3oThApytyld/5ssEQfoQ+roJUceflEjTh1Gt?= =?us-ascii?Q?mcb3IERzT5lIpYB1r1o8NwSzIm+NRcQJPeH6JWkghd4fkcy41ruZGTRKSilb?= =?us-ascii?Q?tQ4fjxJzOVKAwcUgOFJ6yj5Bln6d/nigaVgdGBbNv0nb5D9ErnHxTBolUcO8?= =?us-ascii?Q?mgLr0Fy00XojI1PMBWgxMn8LTGnGZzBh5fyXaqZ2EN+HrUahvdfd40MmFHKO?= =?us-ascii?Q?19+hXfRJcjsQqyIiDiCMDozsSrI?= X-Microsoft-Exchange-Diagnostics: 1;DM3PR12MB0860;5:tkKpiKvSOrrYOoGXZY1kYwsUGg7wNBTTSLNtgHLgG3A3HlC9CarqSVZhwYykbqJ1cIK5vrfUvb1OVpiYirSakHyqwQQdW4+OmGnpW5t011pc5zsc67DLYwyaC87YBUBvrMEsvDyAvpsEggnlw+ySqg==;24:E/0wVjB+7Easd3M9MNYfr1Xx4wjYL8wIRzBq1baAbXLFnjt0l8cyNXagVNnPDBgYTp2KWyotmvmSb3QsVV3qI6r+iEn7hmCK/XjduDA+rM8=;20:SVrjfieiBZ0N9rc4Dn4hHlFh4ukql+jNhAcksE2PqFlOKKjrDlPOtVd5mvvO5f7FlXyqufciX+c/zbGQQkBYTC2NK2TkmD5TI23B5BZmx3obwqKyFf8UAHgg/fplUGkFyt2mRkCuCyyS0r1plpegwdJGoPOThiWwsu5QyTVIlFUkRloSwtvGTWIxjJprJqC8CRInpsclKfrhwyOdG0VtrFYCaTY8IDJQZiwJCvJtwc6e+ngeBm5daLlGRR099j1l SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Oct 2015 03:38:21.6067 (UTC) X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.221];Helo=[atltwp01.amd.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM3PR12MB0860 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, Oct 23, 2015 at 06:59:19AM -0700, Guenter Roeck wrote: > On 10/19/2015 07:28 PM, Huang Rui wrote: > >PTSC is the performance timestamp counter value in a cpu core and the > >cores in one compute unit have the fixed frequency. So it picks up the > >performance timestamp counter value of the first core per compute unit > >to measure the interval for average power per compute unit. > > > >Signed-off-by: Huang Rui > >Cc: Borislav Petkov > >Cc: Guenter Roeck > >Cc: Peter Zijlstra > >Cc: Ingo Molnar > >--- > > arch/x86/include/asm/msr-index.h | 1 + > > drivers/hwmon/fam15h_power.c | 5 +++++ > > 2 files changed, 6 insertions(+) > > > >diff --git a/arch/x86/include/asm/msr-index.h b/arch/x86/include/asm/msr-index.h > >index c1c0a1c..3686eaa 100644 > >--- a/arch/x86/include/asm/msr-index.h > >+++ b/arch/x86/include/asm/msr-index.h > >@@ -313,6 +313,7 @@ > > #define MSR_F15H_PERF_CTR 0xc0010201 > > #define MSR_F15H_NB_PERF_CTL 0xc0010240 > > #define MSR_F15H_NB_PERF_CTR 0xc0010241 > >+#define MSR_F15H_PTSC 0xc0010280 > > > > /* Fam 10h MSRs */ > > #define MSR_FAM10H_MMIO_CONF_BASE 0xc0010058 > >diff --git a/drivers/hwmon/fam15h_power.c b/drivers/hwmon/fam15h_power.c > >index 88e4f3e..6321f73 100644 > >--- a/drivers/hwmon/fam15h_power.c > >+++ b/drivers/hwmon/fam15h_power.c > >@@ -62,6 +62,8 @@ struct fam15h_power_data { > > u64 max_cu_acc_power; > > /* accumulated power of the compute units */ > > u64 cu_acc_power[MAX_CUS]; > >+ /* performance timestamp counter */ > >+ u64 cpu_sw_pwr_ptsc[MAX_CUS]; > > }; > > > > static ssize_t show_power(struct device *dev, > >@@ -132,6 +134,9 @@ static void do_read_registers_on_cu(void *_data) > > > > WARN_ON(rdmsrl_safe(MSR_F15H_CU_PWR_ACCUMULATOR, > > &data->cu_acc_power[cu])); > >+ > >+ WARN_ON(rdmsrl_safe(MSR_F15H_PTSC, > >+ &data->cpu_sw_pwr_ptsc[cu])); > > } > > I am not really happy with those WARN_ON, or even an error message. > If the error is seen, it may be persistent. > > If an error check is really needed here, it might make more sense to store > the read error and return it to user space if the respective sysfs attribute > is read. > I am OK with removing WARN_ON here. Boris, if you also agree with it, I will remove it on V3. Thanks, Rui