From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757391AbcDGTHo (ORCPT ); Thu, 7 Apr 2016 15:07:44 -0400 Received: from mail-bn1on0112.outbound.protection.outlook.com ([157.56.110.112]:31872 "EHLO na01-bn1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751626AbcDGTHl (ORCPT ); Thu, 7 Apr 2016 15:07:41 -0400 Authentication-Results: kernel.org; dkim=none (message not signed) header.d=none;kernel.org; dmarc=none action=none header.from=hpe.com; Message-ID: <5706AC71.3080801@hpe.com> Date: Thu, 7 Apr 2016 14:52:33 -0400 From: Waiman Long User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:10.0.12) Gecko/20130109 Thunderbird/10.0.12 MIME-Version: 1.0 To: Tejun Heo CC: "Theodore Ts'o" , Andreas Dilger , Christoph Lameter , , , Scott J Norton , Douglas Hatch , Toshimitsu Kani Subject: Re: [PATCH 2/3] percpu_stats: Simple per-cpu statistics count helper functions References: <1459566578-30221-1-git-send-email-Waiman.Long@hpe.com> <1459566578-30221-3-git-send-email-Waiman.Long@hpe.com> <20160404160228.GW7822@mtj.duckdns.org> <570584F1.10909@hpe.com> <20160406225424.GK24661@htj.duckdns.org> <57068395.1080703@hpe.com> <20160407160623.GF7822@mtj.duckdns.org> In-Reply-To: <20160407160623.GF7822@mtj.duckdns.org> Content-Type: text/plain; charset="ISO-8859-1"; format=flowed Content-Transfer-Encoding: 7bit X-Originating-IP: [72.71.243.60] X-ClientProxiedBy: CY1PR12CA0053.namprd12.prod.outlook.com (10.163.230.21) To AT5PR84MB0308.NAMPRD84.PROD.OUTLOOK.COM (10.162.138.30) X-MS-Office365-Filtering-Correlation-Id: 0df9a53d-d7e1-430d-3d46-08d35f15cc57 X-Microsoft-Exchange-Diagnostics: 1;AT5PR84MB0308;2:95Ai5XO0OM2qQ7RBHQ0ztSjJyc6CUnzPiqo68Buvp0MUrLDsiSAzM0l99VsbVvsGWo7Jfla0nrmoPRPYC8an5wfZRVvaJnI2CwZHjV53oCWeqxf3Zc//Yu0tYVHgbaSyGkLDVI+FxfUKlvSevuJFfB1OAg8HvclEoo5fMizXZ7aiK+8jq2lwaByvKm3/BEvq;3:ELFhiU+49uw92Omi5FEiibwI3u5c0oerfRP4XgdH61Hvbi7RojfBDWDqeolddx828jlIvOAx74QXrC+88wjCEp+nvTrWvrm/5QQ9kKyBWFNXn1o7ROKuGyRDmugg2T2e;25:wQvExsVHzSi9nJtZee9bOWEwAHWaGmE8wZ5NlKxlEZ0VHY1ealABeBUVxLB96tBFZvp6rFQf6fDPP0/9sr/BJZjEUhlPH9KtLavc54YrdndD+rxJ9LUdSqgQnIqskxL7ZOpxJFPnZYvhXmVBR9axOGcac2A5k1mSyGDSbw7u0CgPqcaqu92hiZ5w11Sp6coDEJ94JeLKGQ4uaLGhEXdZYPWTSpUANqFlJ99lmEKL/U/pq12aKkw75G6xQYwJsdBZkSB6Zbyg0qT8/UJAQeJfk0x33rxxOpBv/gQC9DmEFpJfaR/FFYPGkWl+wlDU5k56g3zNsfa78gASCpg1lAzYOA== X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:AT5PR84MB0308; X-LD-Processed: 105b2061-b669-4b31-92ac-24d304d195dc,ExtAddr X-Microsoft-Exchange-Diagnostics: 1;AT5PR84MB0308;20:0JzdrCfXHaQfMfUKg3lprCY9urErI3kednVf/J6rnXwnSslACkZqCJo4JNFfVtZtNj5ZgYr3vO8g1B1gkP3lN2yFx2E0VYiei22BjaruuajtXBr9Q0hTr7KKzwPzuQgX5IwqkpPjPCqDaAgIcF8JzIWSd04Xx/QDpWd3/E+hZryHF4/3ayo5IZjBVTQx+kbXxqj5CKliX0doGoRr1O/9uVSZRJ5BxkKcv3yS7lUS4ltBvU/GIKzIwHcZCVQQjIOx6koN0NLeu670ACwNqqZZYRFECI75Hfoa0iCLWLaU47mNfeNl/OzMPbT+/zQGT+trvK46rRUE8lunZ0zUAtAFJg==;4:FdsDpWf+AQe0mTAwG3Tu8kV+JmIACkp/rmdEdiv3zk4XryxcBhaKCYvwd7kbTSFFKXlIy/399WprKInfaYEPTHvBz+5PR4HxKaYjHeeVKknvbNOkH0nKlN1kkMq6Q886G3Bh0IqvuqJDDKrsRN2rzag5dO7nuuCiE528MW0oH8rxqAadY8lbcE8SOMCc9sDWdunMkxZbfI3vtYgWRbXtz/RbYf9IIcu4tbbTbI8zZPgXMlqD+0FpVPEnWKi0DyPKpj4CtuIdcMoA7zucRS6Krk614ELeeKpFyyf0xU5PliXtCXc2IAQckHYSWz225t1Aku+TtNjeaueSMXyudxpYkbKr10DGSh654c2v9LK53FGdOt+fRUHcxE0ufRyjJGG8RLBjTRQv8Bw+V8WLaEjSKg== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(2401047)(5005006)(8121501046)(10201501046)(3002001)(6055026);SRVR:AT5PR84MB0308;BCL:0;PCL:0;RULEID:;SRVR:AT5PR84MB0308; X-Forefront-PRVS: 0905A6B2C7 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(4630300001)(6049001)(6009001)(377454003)(24454002)(6116002)(66066001)(3846002)(1096002)(64126003)(2950100001)(77096005)(83506001)(81166005)(86362001)(23756003)(80316001)(93886004)(2906002)(50986999)(230700001)(76176999)(87266999)(110136002)(586003)(65816999)(54356999)(117156001)(5004730100002)(4326007)(4001350100001)(47776003)(42186005)(5008740100001)(189998001)(33656002)(50466002)(36756003)(92566002);DIR:OUT;SFP:1102;SCL:1;SRVR:AT5PR84MB0308;H:[192.168.142.152];FPR:;SPF:None;MLV:sfv;LANG:en; X-Microsoft-Exchange-Diagnostics: =?iso-8859-1?Q?1;AT5PR84MB0308;23:UEj+m4Jh2X1S0TNrzFWT4iJryaM3YjW5mMzRgSo?= =?iso-8859-1?Q?S1wNdFDHkiBhunmjlsEOAjZX8n7h1UjY+CPhr3EeDeSDTAZkMrvCS38MBM?= =?iso-8859-1?Q?0LUlpyS710UTRj3lLAmfckihIrK1U2S7GdTldMEjOjlJ2WBMjHT9/3mk2g?= =?iso-8859-1?Q?lW+zIOYMYxvb+pT8PyTA//bnTGhgM68zGIq//yWqqI0Agz87dz76Wkh5CL?= =?iso-8859-1?Q?dJlhMApfACfSxV7Z7XbFHwPbZA8cTQYTtXKFb36oW9YBwTg9uS/HTNK7do?= =?iso-8859-1?Q?gBtL+dm6+JvEZT8eVfZuAV9rrGahrKfzmuwY105bgSbABYYZdyHBM9/C2B?= =?iso-8859-1?Q?bKpe1eqs7xFc4FQCuYmzmogjNRhLwHDtU0z5HTFX0WWnR4PSTRJXi2lh3y?= =?iso-8859-1?Q?Huo2B7FSKt63pUUI/LnPIvKdDh8c0hlQYTZEXv/iHymNP5Inqgga8oKOSu?= =?iso-8859-1?Q?YzEAgSVje9DNeeFxK35yz2J6Uw4W1KV/TKvUtsHYvzwnic2re1umDYZhwo?= =?iso-8859-1?Q?npCQ3xwXVfD/9QdG+Ah/T3GZ9Xu1tZB7TWXgmp08IdL8nzEwGL67QIWZSN?= =?iso-8859-1?Q?CdPDNyN6AgEguhoBtk4MC2CCxWJrdEgjeqezEjF8yU8JYc63p0HFJOE0Ec?= =?iso-8859-1?Q?pXYbL8Km/yZ94k2pziOIrgbIob1Do1e3W9DxHq3D+MsFPLjX1HqtiPQ8o5?= =?iso-8859-1?Q?NtbX/O1aS71gkf2DIzONX1RLhZXGFWf94aF6cRaLkgcuKcM+HC3Q5h3WLQ?= =?iso-8859-1?Q?cqTDF4fBwwj51Bk2oZA/9VfVuGJ01ZleSYzxDmmcHtSRoH8QCLs6PUlWAM?= =?iso-8859-1?Q?ZdH7qpq0OUzfrp3gZzeJv25fZkkEkPKCoOcxp5KA6cfohtuW63oQjrq8Ol?= =?iso-8859-1?Q?zE8B99qHwfoWVTLmFNfoHr/nU/CFMTHorq1OdxsX1+DqnwbwpgSNOdEWPT?= =?iso-8859-1?Q?GIx/wiQ+FB74dDGwI8U2Ia3KMvLI9QlJnlKoW73u1NiiY1G5bd8Qr0CtdJ?= =?iso-8859-1?Q?NN6yzyNiADucAh7cZHpFvfDnPZeyFR42pjA2YaKWzPbtF70Q0GChCeiXmz?= =?iso-8859-1?Q?0KEcl41MkT6knvl0NP4Kw=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1;AT5PR84MB0308;5:E6bSIEVbIGy9xywUaT8o45xfVCabpvoVyKXrwfFrFiNddnskCRMfG44b83gK1DHdJ5cBGfRbTZhI7vGZAt4ufskPYWGeJhOIvcJkU3dH3NasDc2et9KyrxrWMP5Zfio3O5Zk74SQEs6ZbdadfhGXvQ==;24:5vY2qwyStPmgt49GFM68zoBYaP7RlZE4oXn+NlSEXgovKXzze1muSVeBYhNZlscfR3nczFcwqtZMX3HLJHSqku1VTJ+ZcVyM+I7S5f6/kDI= SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: hpe.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Apr 2016 18:52:39.2998 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: AT5PR84MB0308 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 04/07/2016 12:06 PM, Tejun Heo wrote: > Hello, Waiman. > > On Thu, Apr 07, 2016 at 11:58:13AM -0400, Waiman Long wrote: >> We can certainly make it watertight. However, that will certainly require >> adding performance overhead in the percpu stats update fast path which I am >> not willing to pay. > There are multiple options depending on the specific balance you want > to hit. Reset can be made very heavy (involving RCU sync operation) > to make hot path overhead minimal, local locking or atomic ops can > also be used which while more expensive than this_cpu_*() ops still > avoids cacheline bouncing. > >> The purpose of this stat counters reset functionality is to allow developers >> to reset the stat counters, run certain workload and see how things are >> going in the kernel when the workload completes assuming that those stat >> counters are exposed via sysfs, debugfs, etc. The developers can certainly >> check the stat counters after the reset to make sure that they are properly >> reset. So I don't think we need an airtight way of doing it. If you have >> scenarios in your mind that require airtight reset of the stat counters, >> please let me know and I will see what I can do about it. > No matter what, don't create something which can yield a completely > surprising result once in a blue moon. You might think it's okay > because the likelihood is low but that just means that the resulting > malfunctions will be that much more obscure and difficult to > reproduce. > > Thanks. > As long as atomic reset is an optional feature that caller can choose at init time, I am OK to provide this functionality. I just don't want it to be the default because of the performance overhead. Cheers, Longman