[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <145663588892.3865.9987439671424028216.stgit@notabene>
Date: Sun, 28 Feb 2016 16:09:29 +1100
From: NeilBrown <neilb@...e.com>
To: Ross Zwisler <ross.zwisler@...ux.intel.com>,
Matthew Wilcox <matthew.r.wilcox@...el.com>,
Andrew Morton <akpm@...ux-foundation.org>,
Jan Kara <jack@...e.cz>
Cc: linux-kernel@...r.kernel.org, linux-fsdevel@...r.kernel.org,
linux-mm@...ck.org
Subject: [PATCH 0/3] RFC improvements to radix-tree related to DAX
Hi,
While pondering some issues with DAX and how it uses the radix tree I
conceived the following patches. I don't know if they'll be useful
but I thought I would post them in case they are helpful.
The first is quite independent of the others - it removes some DAX
specific #defines from radix-tree.h which is a generic ADT.
The second makes an extra bit available when exception data is
stored in the radix tree.
The third uses this bit to provide a sleeping lock. With this
it should be possible to delete exceptional entries from the radix
tree in a race-free way without external locking.
Like the page lock it requires an external set of wait_queue_heads.
The same ones used for page_lock would be suitable.
Note that this code is only compile tested.
NeilBrown
---
NeilBrown (3):
DAX: move RADIX_DAX_ definitions to dax.c
radix-tree: make 'indirect' bit available to exception entries.
radix-tree: support locking of individual exception entries.
fs/dax.c | 9 ++
include/linux/radix-tree.h | 28 +++++---
lib/radix-tree.c | 160 ++++++++++++++++++++++++++++++++++++++++++++
3 files changed, 185 insertions(+), 12 deletions(-)
--
Signature
Powered by blists - more mailing lists