Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752838AbbGPOsp (ORCPT ); Thu, 16 Jul 2015 10:48:45 -0400 Received: from mail-ie0-f182.google.com ([209.85.223.182]:34784 "EHLO mail-ie0-f182.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751000AbbGPOsn (ORCPT ); Thu, 16 Jul 2015 10:48:43 -0400 Message-ID: <55A7C449.4030406@kernel.dk> Date: Thu, 16 Jul 2015 08:48:41 -0600 From: Jens Axboe User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.7.0 MIME-Version: 1.0 To: Ming Lei , linux-kernel@vger.kernel.org CC: Mike Snitzer , Tejun Heo Subject: Re: [PATCH 0/4] block: account io: kill atomic operations References: <1437016607-375-1-git-send-email-tom.leiming@gmail.com> In-Reply-To: <1437016607-375-1-git-send-email-tom.leiming@gmail.com> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1030 Lines: 30 On 07/15/2015 09:16 PM, Ming Lei wrote: > Hi, > > This patches kills two kinds of atomic operations in block > accounting I/O. > > The 1st two patches convert atomic refcount of partition > into percpu refcount. > > The 2nd two patches converts partition->in_flight[] into percpu > variable. > > With this change, ~15% throughput improvement can be observed > when running fio(randread) over null blk in a dual-socket > environment. I've played with this before, but always ran into the hurdle of making part_in_flight() too expensive ended up hurting results in the end. Making the inc/dec parts of accounting percpu is a no-brainer, unfortunately the summing then becomes pretty expensive. I'll run this through some testing and see what kind of results I get. -- Jens Axboe -- 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/