[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20170719155407.6002707adc68e8de833ffe49@linux-foundation.org>
Date: Wed, 19 Jul 2017 15:54:07 -0700
From: Andrew Morton <akpm@...ux-foundation.org>
To: Davidlohr Bueso <dave@...olabs.net>
Cc: mingo@...nel.org, peterz@...radead.org,
torvalds@...ux-foundation.org, jack@...e.cz,
kirill.shutemov@...ux.intel.com, ldufour@...ux.vnet.ibm.com,
mhocko@...e.com, mgorman@...hsingularity.net,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH -next v3 0/9] rbtree: Cache leftmost node internally
On Thu, 29 Jun 2017 10:15:44 -0700 Davidlohr Bueso <dave@...olabs.net> 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?
> (iii) Convert at least two new users (epoll and procfs) to the new interface.
>
Powered by blists - more mailing lists