All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ross Zwisler <ross.zwisler@linux.intel.com>
To: Matthew Wilcox <mawilcox@microsoft.com>
Cc: Konstantin Khlebnikov <koct9i@gmail.com>,
	Ross Zwisler <ross.zwisler@linux.intel.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH RFC 1/4] lib/radix: add universal radix_tree_fill_range
Date: Tue, 30 Aug 2016 16:00:30 -0600	[thread overview]
Message-ID: <20160830220030.GA20121@linux.intel.com> (raw)
In-Reply-To: <DM2PR21MB0089A76C6ACE9299CFD37938CBE10@DM2PR21MB0089.namprd21.prod.outlook.com>

On Mon, Aug 29, 2016 at 06:52:54PM +0000, Matthew Wilcox wrote:
> It may be protected by the mapping lock in the current code, but I would it
> expect it to become an RCU lookup + lock eventually.  No mapping lock, just
> like the page cache.
> 
> Even if we can work around it, why do we want to?  What's the compelling
> reason to change from the current radix tree representation of order-N
> entries to an arbitrary range?  There are no in-kernel users right now; is
> there a performance reason to change?  We don't usually change an API in
> anticipation of future users appearing, particularly when the API makes it
> harder for the existing users to use it.

I do have a patch set out for review which uses the multi-order nature of the
radix tree:

https://lkml.org/lkml/2016/8/23/725

This code takes advantage of the fact that using the radix tree for an order-0
entry is the same as for a multi-order entry.  Both have a single lock bit,
and a single entry that i need to use for lookups, sets, locking and
unlocking.

My usage fits well with the current implementation of the radix tree, and I'd
like to keep it simple if I can.

  parent reply	other threads:[~2016-08-30 22:01 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-08-27 14:14 [PATCH RFC 1/4] lib/radix: add universal radix_tree_fill_range Konstantin Khlebnikov
2016-08-27 14:14 ` Konstantin Khlebnikov
2016-08-27 14:16 ` [PATCH RFC 2/4] lib/radix-tree: remove sibling entries Konstantin Khlebnikov
2016-08-27 14:16   ` Konstantin Khlebnikov
2016-08-27 14:16 ` [PATCH RFC 3/4] testing/radix-tree: replace multi-order with range operations Konstantin Khlebnikov
2016-08-27 14:16   ` Konstantin Khlebnikov
2016-08-27 14:16 ` [PATCH RFC 4/4] testing/radix-tree: benchmark for iterator Konstantin Khlebnikov
2016-08-27 14:16   ` Konstantin Khlebnikov
     [not found] ` <20160827180927.GA22919@linux.intel.com>
2016-08-29 15:21   ` [PATCH RFC 1/4] lib/radix: add universal radix_tree_fill_range Matthew Wilcox
2016-08-29 16:14     ` Konstantin Khlebnikov
2016-08-29 18:08       ` Matthew Wilcox
2016-08-29 18:15         ` Konstantin Khlebnikov
2016-08-29 18:52           ` Matthew Wilcox
2016-08-30 21:56             ` Dan Williams
2016-08-30 22:03               ` Ross Zwisler
2016-08-30 22:21                 ` Dan Williams
2016-08-30 22:53                   ` Ross Zwisler
2016-09-01  6:12                     ` Konstantin Khlebnikov
2016-09-02 17:59                       ` Matthew Wilcox
2016-09-03  4:50                         ` Konstantin Khlebnikov
2016-08-31 14:57                   ` Matthew Wilcox
2016-08-31 16:36                     ` Dan Williams
2016-09-01  6:16                       ` Konstantin Khlebnikov
2016-08-30 22:00             ` Ross Zwisler [this message]
2016-08-30 22:39 ` Ross Zwisler
2016-08-30 22:39   ` Ross Zwisler

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20160830220030.GA20121@linux.intel.com \
    --to=ross.zwisler@linux.intel.com \
    --cc=koct9i@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mawilcox@microsoft.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.