Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753786AbbH0I07 (ORCPT ); Thu, 27 Aug 2015 04:26:59 -0400 Received: from mail-bl2on0060.outbound.protection.outlook.com ([65.55.169.60]:20436 "EHLO na01-bl2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1753730AbbH0I0z (ORCPT ); Thu, 27 Aug 2015 04:26:55 -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: 0NTQERC-07-ULF-02 X-M-MSG: From: Huang Rui To: Borislav Petkov , Jean Delvare , "Guenter Roeck" , Andy Lutomirski , "Andreas Herrmann" , Thomas Gleixner , Peter Zijlstra , Ingo Molnar , "Rafael J. Wysocki" , Len Brown , John Stultz , =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Weisbecker?= CC: , , , Andreas Herrmann , Aravind Gopalakrishnan , Borislav Petkov , Fengguang Wu , Aaron Lu , Tony Li , Huang Rui Subject: [PATCH 14/15] hwmon, fam15h_power: add documentation for accumulated power algorithm Date: Thu, 27 Aug 2015 16:07:45 +0800 Message-ID: <1440662866-28716-15-git-send-email-ray.huang@amd.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1440662866-28716-1-git-send-email-ray.huang@amd.com> References: <1440662866-28716-1-git-send-email-ray.huang@amd.com> MIME-Version: 1.0 Content-Type: text/plain 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)(3050300001)(199003)(189002)(50986999)(76176999)(68736005)(105586002)(101416001)(106466001)(5003600100002)(86362001)(46102003)(4001540100001)(19580405001)(19580395003)(62966003)(77096005)(2950100001)(97736004)(77156002)(92566002)(64706001)(5007970100001)(5003940100001)(5001830100001)(87936001)(5001860100001)(36756003)(5001920100001)(33646002)(47776003)(5001770100001)(50226001)(48376002)(50466002)(189998001)(53416004)(229853001)(921003)(1121003);DIR:OUT;SFP:1101;SCL:1;SRVR:SN1PR12MB0718;H:atltwp01.amd.com;FPR:;SPF:None;PTR:InfoDomainNonexistent;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;SN1PR12MB0718;2:Xb31DG7zf7+laSEN+GQWgO6bpF5Cbz4aIVONH5pnO9Uwkpw9QxbCXWK4IGpuDHpZfvRgWgS3eRTCsdt1NEDZY66RvPk4srk7iiIweSzQEuSDCFOWQGGy7DQsIdWow7VS8mReeMV0DzRiWaTlqFjgVCsqz/4O2ddi3NW7O3eAl/8=;3:HCkpYRXWP0bsvAtYbsp1/1AhVetDQrUjbtH3VFdonc04Gln7Tol9pH19n5bFuD8RCLS4+rwTzPwhOUCNEo8IbxH758+DzaE0HH0DlMJ+g0BG9QoeoFein0JC5sN/YC/mEJ0ZCLBe+LKniE6WjxeJaky8IhgjzEbx1O56bPGBg1ieika9/OGjbxyZxGEeUadxvwlsE+RzH6/xhond8puJAfKJQDGS2OAzjklOahVXwWKmrp7tq8gNwBNWG7U1o3HC;25:LMBPNZUFVYfal8EmvsilsCqGLE/FW99WnNEGh3/zzvUBsK1gf7N1akp09Y+/GKQB6j7PSvXyhTXAYQmQUzrrecLdAhj2rS4zDWN1jG5IegOwSFG/zrhpqhUVAdxsYVJWGy2FV8mAL5lW1O/aXHp49VHN1GSxMhmGXtPJ84Bol6wQduUrb9tfkxdrDirnXJepCVH2jLSek5JACYR1ne+jM9VGB6HAtc0AbOfh+b0gDOosmWfqnMDWc5A9VxQbMdWo X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:SN1PR12MB0718; X-Microsoft-Exchange-Diagnostics: 1;SN1PR12MB0718;20:IR3nwHb8zGRVhAwF6kW9d+ikfjpJoDQtmq/zSoSf6JtwIbQS8FKkferrTpa5IIGbij9OV0dT0TzZDvFN3jJP/Aio71e51ljbS9JwBeslss8u7WTTWQoFAkKP9Sg9Gx+TO9eNNQBP904GYeA9X2H5x9kI6qzQUNbHaAoVdX4kRnZhtkh+j4vAwncp7HKBtbsHS9kyCw/CRTLSbkMFKa4CQjlWX7Vkdjog9FUZTHbboEyUjIUdNjo0c7qlsT5iFZmd9NmNNVFqnIkRuU9IIZ0o86fxirZ7isFkRqK81K0QxcI/vZTC4ZhTs5g8svEWoLs8fmNmAZHqO1JI2ce2/JADrsQZEmTeGmx12S+gdPHcMBgA1w64OqCemifcG8d7AS9cRgmPipJ/0rN3bnpirh2BVv5AFv/1oFqriXCd8OB7d2yDNHPhirDt1UnSjbhfN1uvon37KYPAV0Nk3YYCHGJ2pdi/I2xTDSiwb1swm0ta3O1YvPlW71PmCytQWudPSJAk;4:m7L76ouY0mdcVku1X2TEuuljWdId30fxF5pzTJ6X8e5EOsI/r95QXThBW0M6I6rC2jCzkXQBmI6ERQCKjQ9EU029/Fq/Od4/YtzzuVNcCzN82hjpAGV5tkZ54dFxKxG27WLntnVVAK4bvgro4xBk7evZMPC/0D+SOu5SUH2eIOCEV1ld2gcKe1ipHRthUB63IG7AQ2H1J8goMYZDQFpMUo9c/6UAumCDOSdEMkMt8cmohnPYSwS4UZSV2rlKqJ+ay5dfpbrXh4Rc+otCY3QkaZfdvvheDus/mGgSZArstyQtvBhMNTSHuQMP3GI3sJy1 X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(5005006)(8121501046)(3002001);SRVR:SN1PR12MB0718;BCL:0;PCL:0;RULEID:;SRVR:SN1PR12MB0718; X-Forefront-PRVS: 06818431B9 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;SN1PR12MB0718;23:H+Qzqmq0TwNiTSqBGUav1xRXVm6h5JDQHjycSO8gc?= =?us-ascii?Q?wZ+lF8zkmbvISfBMl1d57KVlS8TEK6F2syePdT3edHdq32MJe9esjavvSqx+?= =?us-ascii?Q?fD71ms9LQcZqzzLhXEq2nLfDfXZguK7eClQfJK2s/chb8+PAuOPRrFE+prbR?= =?us-ascii?Q?bOlqX7UateLfa3efI44Xf9L8iujdCbzL66Z9zUKhMHSo+PZkzc3D45s1rd0o?= =?us-ascii?Q?aetIyaWwrQrvUD5olfgrmOjgGgOUPZqc+uROFy/yBWl/yjdTwa2UtoZfn34z?= =?us-ascii?Q?tSDNBgXJ8F2J7UcwfC/2sB7C0BmFHxs7/v10zwCbw7NmsenBJQUtApmV0lmu?= =?us-ascii?Q?XJjCmZQTHYJs3jpwLjU1ki1iEoJRStxIGmshyvWQC6hIcfBX+0PVZe2xhBB/?= =?us-ascii?Q?jSc5CTr0PbNQgP9Ym03lxuaQW0slDEpYHUFKP9ZZ+dirBf+IqErUJd4ChOAu?= =?us-ascii?Q?ZlNAuT564c+61O2q6Md9rCcoPLDc7pl2z1v1qw+To3qsPv8HYpnHfyCZaCpb?= =?us-ascii?Q?SSPkZFTP6GNbyYzigYjFYR++xRkSUsbHMOHI7SyLC1mIUY1+j5JpW5JGRRvr?= =?us-ascii?Q?IzBn7Jw2Pm5+Wjg2PEsvLvcTso+1U5vW6hOu3k4rWVUeEuEI04TfgLhQK4FC?= =?us-ascii?Q?njLB4PW2eppRrwIj4sgDWg35PMFMYFPmx5ff0fxUpwjSzZcxzs/Rd4EArWfy?= =?us-ascii?Q?iUl1uNfzdF2ZnA8qZWH1rgEHz1AGwXeXCq5EqtYJkKzFu9GDJWbEwelCyxPL?= =?us-ascii?Q?VbQMAwhmjpXwIIH9RTXzJqF9DBDedZ2R9Sd1TUZ91Dsb/ZHPsPydQMyjTJO1?= =?us-ascii?Q?88lvjwUGLbWWCKJ0kbeIm3Qb5hCLtvO2Eq11dY4znkhI26bwajRgaqatw+yg?= =?us-ascii?Q?FI1MunaP5uXs5y76kEYjb8TBYktY+oGdOXyQ8k0p1Hri0J0Id75k67LVPmfx?= =?us-ascii?Q?naFGQkpGOB//iHe65SROAwkDE+YcSk7WUmkm5RSt0xpxWAMzhsj44l+rkDye?= =?us-ascii?Q?vKbDArQTuXGm/hvlWalq/1YBYPX3eaArbqI5E5hW9Qse7XJFxgpxFxU6kwuf?= =?us-ascii?Q?qFZpNb81x2uiKV6TO6raWgDu0t1A7S7DmUChAvk1Pll1YIo6KooHPOdv45is?= =?us-ascii?Q?hPT083vRpIjhI5AO36kcHulGXxmABcJAnUVv+sUcvTU399BYwFyUXBQu23Nc?= =?us-ascii?Q?9S+uC4OIk9CHs4=3D?= X-Microsoft-Exchange-Diagnostics: 1;SN1PR12MB0718;5:5C8V9FYPPJoCGfYlLzmRKojcovw6nt6KFB05CaJsfGQpyhOJ1MvLjpdZH0IRpIUFbu4BOVONJt8+pk1jG9tBX/B5x1Sg5xzmrELXGOtb8HBAyHLyaRC8kt4yH2ge0HdbfACBjax7aYJqDhjcQUunXA==;24:qXFeY5QicDDKeJQTjd8zRaIrTfRVGEIZ1GOxpURHq8cu6TEh36ljHumLZgfHbo3fPUeRSsEAl/Q8mlZs30yYU0nNktqJBPYP93fku0GYVq8=;20:6ZghM9pkxjz9pSw3P3g7eQXT4h0Uf0gsNJvyJQwdoxyPMVN2Mf473EgVe+kx2wJWnHIy6Q/H/snOzlLMLvbFdA== SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Aug 2015 08:11:37.5175 (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: SN1PR12MB0718 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2608 Lines: 69 This patch adds the description to explain the accumulated power algorithm. Signed-off-by: Huang Rui --- Documentation/hwmon/fam15h_power | 45 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) diff --git a/Documentation/hwmon/fam15h_power b/Documentation/hwmon/fam15h_power index 42bf04e..dc2bc69 100644 --- a/Documentation/hwmon/fam15h_power +++ b/Documentation/hwmon/fam15h_power @@ -45,3 +45,48 @@ This driver provides ProcessorPwrWatts and CurrPwrWatts: On multi-node processors the calculated value is for the entire package and not for a single node. Thus the driver creates sysfs attributes only for internal node0 of a multi-node processor. + +2) Accumulated Power Mechanism + +This driver also introduces an algorithm that should be used to +calculate the average power consumed by a processor during a +measurement interval Tm. The feature of accumulated power mechanism is +indicated by CPUID Fn8000_0007_EDX[12]. + +* Tsample: compute unit power accumulator sample period +* Tref: the PTSC counter period +* PTSC: performance timestamp counter +* N: the ratio of compute unit power accumulator sample period to the + PTSC period +* Jmax: max compute unit accumulated power which is indicated by + MaxCpuSwPwrAcc MSR C001007b +* Jx/Jy: compute unit accumulated power which is indicated by + CpuSwPwrAcc MSR C001007a +* Tx/Ty: the value of performance timestamp counter which is indicated + by CU_PTSC MSR C0010280 +* PwrCPUave: CPU average power + +i. Determine the ratio of Tsample to Tref by executing CPUID Fn8000_0007. + N = value of CPUID Fn8000_0007_ECX[CpuPwrSampleTimeRatio[15:0]]. + +ii. Read the full range of the cumulative energy value from the new +MSR MaxCpuSwPwrAcc. + Jmax = value returned. +iii. At time x, SW reads CpuSwPwrAcc MSR and samples the PTSC. + Jx = value read from CpuSwPwrAcc and Tx = value read from +PTSC. + +iv. At time y, SW reads CpuSwPwrAcc MSR and samples the PTSC. + Jy = value read from CpuSwPwrAcc and Ty = value read from +PTSC. + +v. Calculate the average power consumption for a compute unit over +time period (y-x). Unit of result is uWatt. + if (Jy < Jx) // Rollover has occurred + Jdelta = (Jy + Jmax) - Jx + else + Jdelta = Jy - Jx + PwrCPUave = N * Jdelta * 1000 / (Ty - Tx) + +This driver provides PwrCPUave: +* power1_acc (PwrCPUave) -- 1.9.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/