Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933355AbdGSXBH (ORCPT ); Wed, 19 Jul 2017 19:01:07 -0400 Received: from mx2.suse.de ([195.135.220.15]:41454 "EHLO mx1.suse.de" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1755253AbdGSXBG (ORCPT ); Wed, 19 Jul 2017 19:01:06 -0400 Date: Wed, 19 Jul 2017 16:00:55 -0700 From: Davidlohr Bueso To: Andrew Morton Cc: mingo@kernel.org, peterz@infradead.org, torvalds@linux-foundation.org, jack@suse.cz, kirill.shutemov@linux.intel.com, ldufour@linux.vnet.ibm.com, mhocko@suse.com, mgorman@techsingularity.net, linux-kernel@vger.kernel.org Subject: Re: [PATCH -next v3 0/9] rbtree: Cache leftmost node internally Message-ID: <20170719230055.GE14395@linux-80c1.suse> References: <20170629171553.2146-1-dave@stgolabs.net> <20170719155407.6002707adc68e8de833ffe49@linux-foundation.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Disposition: inline In-Reply-To: <20170719155407.6002707adc68e8de833ffe49@linux-foundation.org> User-Agent: Mutt/1.5.24 (2015-08-30) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1687 Lines: 42 On Wed, 19 Jul 2017, Andrew Morton wrote: >On Thu, 29 Jun 2017 10:15:44 -0700 Davidlohr Bueso wrote: > >> Changes from v2 (https://lkml.org/lkml/2017/6/8/857): >> - Fixed 0day reported crash for drm_mm selftest program. We were >> not correctly using the cached version of rbtree with the allocated >> nodes. >> - Added cfq patch to use internal rbtree caching. >> - Added Christian's and Jan's reviews. >> >> Changes from v1 (https://marc.info/?l=linux-kernel&m=149611025616685): >> - No longer rfc. >> - Removed bogus semimcolon in rb_first_cached() >> - Updated missing interval tree user drivers/infiniband/hw/hfi1/ >> - Removed redundant @cached arg in when erasing a node. >> - Added more patches that make use of rb_first_cached(), which I >> thought might be worth it: procfs and epoll. >> - Cc more people for patch 5, which touches drivers such as infiniband >> and gpu. The rest of the changes are pretty covered with the current >> Cc'ed maintainers and mm folks. >> >> Hi, >> >> Here's a proposal for extending rbtrees to internally cache the leftmost >> node such that we can have fast overlap check optimization for all interval >> tree users[1]. The benefits of this series are that: >> >> (i) Unify users that do internal leftmost node caching. > >That's nice. Except the series adds more lines than it removes. > >> (ii) Optimize all interval tree users. > >Was any attempt made to quantify the benefit? Yes, but ultimately it will depend a lot on the workload and size of the tree. For bare numbers, on a Xeon E5-2450 @ 2.10GHz the cost of a rb_first() was ~60 cycles for 100 nodes, and ~75 cycles with 1000 nodes. fwiw. Thanks, Davidlohr