From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751668AbcFPFyY (ORCPT ); Thu, 16 Jun 2016 01:54:24 -0400 Received: from mail-bn1on0092.outbound.protection.outlook.com ([157.56.110.92]:23104 "EHLO na01-bn1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751055AbcFPFyX (ORCPT ); Thu, 16 Jun 2016 01:54:23 -0400 Authentication-Results: spf=none (sender IP is 165.204.84.22) smtp.mailfrom=amd.com; vger.kernel.org; dkim=none (message not signed) header.d=none;vger.kernel.org; dmarc=permerror action=none header.from=amd.com; Date: Thu, 16 Jun 2016 13:59:34 +0800 From: Huang Rui To: Vince Weaver CC: Borislav Petkov , Thomas Gleixner , "Peter Zijlstra" , Ingo Molnar , "Andy Lutomirski" , Robert Richter , "Jacob Shin" , Arnaldo Carvalho de Melo , Kan Liang , , , Suravee Suthikulpanit , Aravind Gopalakrishnan , Borislav Petkov , Guenter Roeck , Fengguang Wu Subject: Re: [REDO PATCH v7] perf/x86/amd/power: Add AMD accumulated power reporting mechanism Message-ID: <20160616055933.GA8522@hr-amur2> References: <1457502306-2559-1-git-send-email-ray.huang@amd.com> <20160616053802.GA7810@hr-amur2> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Disposition: inline In-Reply-To: <20160616053802.GA7810@hr-amur2> User-Agent: Mutt/1.5.21 (2010-09-15) X-EOPAttributedMessage: 0 X-Forefront-Antispam-Report: CIP:165.204.84.22;IPV:CAL;CTRY:US;EFV:NLI;SFV:NSPM;SFS:(10009020)(6009001)(7916002)(2980300002)(428002)(189002)(199003)(24454002)(54356999)(50986999)(9686002)(2906002)(76176999)(50466002)(8936002)(83506001)(246002)(2950100001)(6806005)(5008740100001)(33656002)(87936001)(4326007)(46406003)(189998001)(356003)(2171001)(97756001)(110136002)(77096005)(26826002)(11100500001)(101416001)(92566002)(47776003)(8676002)(4001350100001)(86362001)(23726003)(1076002)(586003)(105586002)(33716001)(106466001)(11771545001)(107986001)(5001870100001)(217873001);DIR:OUT;SFP:1101;SCL:1;SRVR:SN1PR12MB0861;H:SATLEXCHOV02.amd.com;FPR:;SPF:None;PTR:hybridsmtp.amd.com,hybridsmtp02.amd.com;MX:1;A:1;CAT:NONE;LANG:en;CAT:NONE; X-MS-Office365-Filtering-Correlation-Id: 41767f49-ef77-4b59-61a3-08d395aaa8e7 X-Microsoft-Exchange-Diagnostics: 1;SN1PR12MB0861;2:hBrmWLrVnThwgRDrhoIU8/jUDLJ3ZM69+GiwhBmOc3qGD+PJQMD+S1miM0wv8zJeAIOal3fbBi+EXXq//oTv4J8bTno+u1I1fqB+I2V47qqDwpfRjq+cwpMtjdF24ugWzx5dCuGpwc3NCxeAXeYwxv97BJV4U8HnbpP8pDvgdjamyIvzXVcdDjq3aR3rnR8R;3:oSB3Qh4cAlXgYEpYLVzKeVr8a00sphnD+p5Qz26tvEf/CtCluDsRMOCZaeQH5y/gIiQrJHABX4GzvdFO44fA4HEzFl5bVU8eET3dsNQFnwdqm1Fqn83ODdiyfCyc86plO7FK3voJlBzlZ21v2fa3XQiSkwaaSzv3KwR5JfbATNXJf66iTokPxEXp6MB0YkLOTEYVyZQctI+E9pMx3s1R8VzKdzSb6QAEyfKFls/umxY=;25:6zHXyqkZIJn9atdGoeqnO/KinXX7SzTwzHGxhnXxdNxRkIWDCX1xuaJwuDl5HFWSC3gIq7u18sdbeqqDCFKMfPYj472lE5rvQ9iqaqAq7xiXEp2be3z5m+IGJAlUuBvYWeEr/ogIZZXd/O0txc3QyMI9IIU7CIM6XUyGxPnIp5Rw4rxXILR95sUfMBRi02TsHlgyEtJL3kwZS6kbgVkTbxFJy6HzTmS40aJ7MGEx0ztOxp+n/12qMJVH2OHmC81UEkWLArsZDiuMOIybTSqztQmzbCzo1yhbvimeSjUqUTL9VOWuhDCCGQLkqpkF5jx824PH4Mh+6dXoj4PCsL9xzFXhxtR4sQGGQPnTirQXQWoTTFeLBPb+rYooZvJ1p/V6wfzzLXJKe/GHfnlSDwjcMTJx10z6+We/K6/Jk80FHlI= X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:SN1PR12MB0861; X-Microsoft-Exchange-Diagnostics: 1;SN1PR12MB0861;20:9gg5duxOvJSCHWQL29TDpNkQq1Esh0KHYB1baFzvF+m0N2wcX4mWuBm1Cb/SwsAoJXz6LPr2c3uTTFHuUMWRwBH+weGRd6/jajq5ycnsaVud6EulrgSJ3WWTxHShdLJMMJz+p0F4qerKa6p+u3B3PXada0BZT6kKM8/6sHloNHn7TTJicAlAfjWt0H2nwGvqVd28cJ5EymbpQMQiZgefRJzxGzJuiHer9ZOjnkw2IEUIQiqLZPwG2iLHLU/xsePNr6oc4DvBbVIBSg8Lq3ilfAf+M8iYYCb1D0QeBqXTfdg7/CLslEGyKbvImOOzsQTdaKL7SNKt76dDviH50QcpRH+jMmM3jfAi5OgqYtg4z8W5GNlYPY0l7vODlDrxvtxucovFQhJmpyz8jznN88lQ77q71oxxTLdWzURCzIrw37fkKs+Fgyj01lDVXodmEg9B/1tWKB/ndIU6riblexljKD+b4TLDRR/xyf9dUW5A2EfvvYIHxco2BfG1sTYScWQt X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(211171220733660); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(2401047)(13021025)(5005006)(8121501046)(13013025)(13023025)(10201501046)(3002001)(6055026);SRVR:SN1PR12MB0861;BCL:0;PCL:0;RULEID:;SRVR:SN1PR12MB0861; X-Microsoft-Exchange-Diagnostics: 1;SN1PR12MB0861;4:WVSK5cNbwN4hi7MK0nvMIblro3u53sHXFE6+eNExaIWdOQZc6WiDmNjWN/Uua5D1/G5Trwh4bENXZbIJHwZRxXRfYDaMsqHa2ZIf3Dbz9PO8C27yZeF3Q8iiDkQp3eBUbkKJg3rhAtsAESExWt6pw2GLtdTjZgtDTj1JAB29w7MJmA8MvhQ03Hn4XgFSsqwiL9XHrgIk2dTX1xBFo7zHE2de0Vf1qJYdxkM9GtlC1nmOXeMNW6OHzhDMRtudChFkMexkgXA5IUxtLiuMjNU1v67oefT79oThO/rdxmJFPl7eIoN4DWcgKx9Dxa3fHBob7ZbsO0C0ZfEUM+PK5e1F9arDwPjk5dlKD/w//YKkkmNnrjUlNTdii802TFVFj02xot7Tn11rO6fuhGG5yzuUeoybPTXmOdQk85RfHodg60pzBMNi6+VGtW3bdk6tFQRFRVhi4E9GUoGs2QN+2BOgiiBPRq30rJZgCcpcnxXYbII= X-Forefront-PRVS: 09752BC779 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;SN1PR12MB0861;23:upv3K/6KSZesxqaLI2ibftRu2ioNpUkQBoVur8rDx?= =?us-ascii?Q?PQ9hG4GuGpNJ//qMGgKGFmNawYlJiTns1Soy5cXO0zRZ9Ib6B5dE79/cL12r?= =?us-ascii?Q?kgwQZ1dy2U0jtGYjinby5P1viSUillwLbQt9u23UgYDgD+9MfHAxJ7DZO1NB?= =?us-ascii?Q?wHP6iPgFfUujaXVUci0GxcRSitNC94QowO2GRasz+pNNbo1NPdeTVNCGNtHA?= =?us-ascii?Q?ybqjK0LA7qE+HcI3xGGe2G7g28ryYeUU4zK2ObGMHKBU0In4hX35pAKlNLBt?= =?us-ascii?Q?v79wHbwJP9CoIOkxMXXCHTtj4SGnjX5gKoyRkSNB5V9KIHHFB0AtBZrV7u17?= =?us-ascii?Q?BPdpWNrMbjOD9AYKeQiGZzFv+ExifqndJvO1wleX00Z4x+rSsXjSCRAopYIQ?= =?us-ascii?Q?vUTCDTyyB3A/ribtSucYQXrf1hRtUgN3jDlRUtYwU4ssSLKD+n6dmUM6OWd9?= =?us-ascii?Q?QyM+G2qvDFB41/5QHiYMT/+m9Nlwoa8dw2ZPhPgv3qgWJdndHfilWEZ7fL4x?= =?us-ascii?Q?pj466MU+P6xQQXlyHTyhWStu6V9mUK0OvuoqtkFQ6fAPmfNydyUKf5NrzXLA?= =?us-ascii?Q?3/eQp6HPRM38TMiVySKVzmyXMKCiErHzVrGtiP41d3zP28+SKxNeuMT+iQBh?= =?us-ascii?Q?g32+Dnmnc9GiBGPf8DzW43NT6YMZek2gDfdvsN+8NUQjAlH+x12IkYOy0xmm?= =?us-ascii?Q?XQeaOdM8gy9lwUPN0O9St+4zgVJC/WoKmDxbFvD8vsIZuPZvlocftGum4cm3?= =?us-ascii?Q?mIC2YaAAs1t1u3J2H8C9n9RujjYVlOvhfRkXtFnwmy+1kNz11dRhMPdfnnOn?= =?us-ascii?Q?XjZw/4L9F3I2Lfy1dc/iZcmZUv/nuG7EJW6HJ1B+yJcsT1RUQYBZmm573W8Z?= =?us-ascii?Q?OhkM9B8A3Yt8OrFTMTWto5OooByJh8eqccqCuWXj4oXUSdD7DMoBaBrnJpTS?= =?us-ascii?Q?LQVvOUuofl3JeRYYcM1Pru3jx8ep+S0tbb4LezOKI76JB4Ar8p2HETo5at7M?= =?us-ascii?Q?uSVc8agQrFSq5Uuyk6Q+G/7Guvg+d9LYC2AYzsKg1fH6RT1fPKCDN9x7dRKk?= =?us-ascii?Q?6QO4tKkagGJX2WZtWJc/TDAtNssbWNX49lxNl6p9T/tYlVH/UXyycexQrK/v?= =?us-ascii?Q?89nvMD1C676KtyecsnGHNj3wIbrUuQVXMhqyqffmg3xOnN1Ju+f6rTn2wg4o?= =?us-ascii?Q?A0ws4aBnDJyJKY=3D?= X-Microsoft-Exchange-Diagnostics: 1;SN1PR12MB0861;6:oh0bLiAu5oTrG/McXWYhwnmQeGz5yzBxpsjUlUw+JKU7pcj3+b3VLC/P/dxpy6eWKxDLbMArNwEymJAX3+gPCnYUFtVOuB9ZlYhxL8IbKpr8bv8TLXGNL+yEL6zKm8ARflGvMFzqXigqIDocj5muBKjMJiibz4DSn4BoBgSOCYOKMlHb7ow0vtasWzgyrrd8W05fe1O+2B4N04j7jOsPFhoxkMsazJsM4E0HvdJ0MS8HiyWPsMfjalxaOzwzDgzhH4JP6iY2jf3u97G+3lXPCgBWCoeNUcj8CXD6ebRoK09+XTbzXlIcZ7u5/bwaSHyX;5:SZ0UJXV3gPTZM5Fbk07C0VE5cbgW7dEjb3l7qJkcg/ekEd8IrB0h4bsj3F7FpJDyhvHLsfqV8T6xulhVUnr+4ZWN/sY2qeRyMJL/x0rJJpwfPzLCcZwUxjHZNJ03NsWbYNt0xUoktl+z+nyjY+eMpA==;24:exsOl1O3jU7XxkwCAMEhcjjHfqgdda3BXQ3x/Mz2yvfTrhUBMqcYXNoFfHSjOYg1p9p3Xi/k8GC0Zo4Bk98S+ICZSUilS2g61iwu0qNLGeE=;7:pivXLWbJ8CbMdPHdlPvawvuy+NsR2iw1SYGtLMiuPkVcu+l3lGDEjWt9x9QcNSrq/mA4pu7siMXwu1qaZRaag4xV3vVVfYPRsDzKw6jhdle58LGhI5rV6K50n4dAJ1Bc3NB7kOVI4F1i0M/MX8ZQvnoTf5ICsceNI5YN43MsF6+6FlWrlamby4VJrOmBeRf1jI82t7vgZk34Fc7RLlbFaQ== SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;SN1PR12MB0861;20:wNJCncs/TzB6dKZZKb0zsi0UdrzaZa/hNNyCG3fvUtROxC3cnsx86lnV/hpjy0aEMVeRxFs1qd4FrId2nxMzk4237cZmpY1MswbtB9xyiLJ8IO7jwN+mjKXBj0JjoxiMpJtEIFqV5OTGBi9rpsyKN+mX+wiosCGdYrpjVHMB1/CC+l2VdUnm5UuKg2iAHQCYgPLoZZEUCq8LDfiOYLR8u9fC1351CulgYDoY6Rc+rbZsnyjo7EDqbDswUEnZO08B X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Jun 2016 05:54:19.8836 (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.22];Helo=[SATLEXCHOV02.amd.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN1PR12MB0861 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Jun 16, 2016 at 01:38:13PM +0800, Huang Rui wrote: > On Wed, Jun 15, 2016 at 09:13:59PM -0400, Vince Weaver wrote: > > > > 2. Unless I'm misunderstanding things, the code seems to be accumulating > > Power. (see chunk below) Power is an instantaneous measurement, it > > makes no sense to add values. If you use 5W for 1ms and 10W for > > 1ms, the average power across the 2ms interval is not 15W. > > > > You can add energy, but not power. > > > > > + delta *= cpu_pwr_sample_ratio * 1000; > > > + tdelta = new_ptsc - prev_ptsc; > > > + > > > + do_div(delta, tdelta); > > > + local64_add(delta, &event->count); > > > > You're right. Nice catch! The average power is per compute unit. We > cannot add the power simplely for each processor/package. > > So here, the average power per package should be (delta1 + delta2 + ... + deltaN)/(tdelta_avg). > I will work out a fix. Thanks to point out. > After considering carefully, the original method should be OK. AMD nomenclature for CMT systems: [node 0] -> [Compute Unit 0] -> [Compute Unit Core 0] -> Linux CPU 0 -> [Compute Unit Core 1] -> Linux CPU 1 -> [Compute Unit 1] -> [Compute Unit Core 0] -> Linux CPU 2 -> [Compute Unit Core 1] -> Linux CPU 3 The deltaN is power per compute unit. Current one package has two CUs. In the *same* interval, CU0's power is 10W, CU1's power is 15W. The package (CU0 + CU1) power should be 15W, right? Because the interval is the same. Q = Q1 + Q2. P = Q/t = (Q1 + Q2)/t = Q1/t + Q2/t = P1 + P2. Is that clear? Thanks, Rui