Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1040290AbdDUODT (ORCPT ); Fri, 21 Apr 2017 10:03:19 -0400 Received: from mail-qk0-f173.google.com ([209.85.220.173]:36784 "EHLO mail-qk0-f173.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1040243AbdDUODQ (ORCPT ); Fri, 21 Apr 2017 10:03:16 -0400 Subject: Re: [PATCH 0/5] v2: block subsystem refcounter conversions To: "Reshetova, Elena" , Eric Biggers , Kees Cook References: <1492687644-4405-1-git-send-email-elena.reshetova@intel.com> <20170420135651.GA26595@infradead.org> <2236FBA76BA1254E88B949DDB74E612B41C8DA36@IRSMSX102.ger.corp.intel.com> <20170420183319.GB103004@gmail.com> <2236FBA76BA1254E88B949DDB74E612B41C8E21B@IRSMSX102.ger.corp.intel.com> Cc: Christoph Hellwig , "james.bottomley@hansenpartnership.com" , "linux-kernel@vger.kernel.org" , "linux-block@vger.kernel.org" , "linux-scsi@vger.kernel.org" , "linux-btrfs@vger.kernel.org" , "peterz@infradead.org" , "gregkh@linuxfoundation.org" , "fujita.tomonori@lab.ntt.co.jp" , "mingo@redhat.com" , "clm@fb.com" , "jbacik@fb.com" , "dsterba@suse.com" From: Jens Axboe Message-ID: <31311853-3554-cefe-1210-2ffae1a20058@kernel.dk> Date: Fri, 21 Apr 2017 08:03:13 -0600 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.8.0 MIME-Version: 1.0 In-Reply-To: <2236FBA76BA1254E88B949DDB74E612B41C8E21B@IRSMSX102.ger.corp.intel.com> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1679 Lines: 37 On 04/21/2017 04:55 AM, Reshetova, Elena wrote: >>>> Please don't send any more conversions until those have been resolved. >> >> Like I suggested months ago, how about doing an efficient implementation of >> refcount_t which doesn't use the bloated cmpxchg loop? Then there would be >> no >> need for endless performance arguments. In fact, in PaX there are already >> example implementations for several architectures. It's unfortunate that >> they're still being ignored for some reason. > > Providing efficient arch. specific implementation for refcount_t is > likely the next step to make performance-sensitive places happy. > However, in order to do it, we will need to measure for each subsystem > a) current atomic_t usage - base measurement > b) pure refcount_t usage impact > c) arch. specific refcount_t impact > Otherwise I have a chicken and egg problem here: people want better > performance and want to see arch. specific code for this, but in order > to convince maintainer in need of arch. specific code, I need to show > that we do have indeed a performance issue. Sorry, but that's a big load of... You have it so easy - the code is completely standalone, building a small test framework around it and measuring performance in _user space_ is trivial. Don't go around benchmarking conversions in specific subsystems. Generate numbers showing how refcount_t compares to atomic_t for various (valid) use cases. Once you have that, convincing people to adopt it would be so much easier. So stop talking about excuses, and start producing some numbers. If you can't do that, my level of interest in converting anything in block is zero. -- Jens Axboe