diff mbox

radix-tree: fix comment about "exceptional" bits

Message ID 1468997731-2155-1-git-send-email-ross.zwisler@linux.intel.com (mailing list archive)
State New, archived
Headers show

Commit Message

Ross Zwisler July 20, 2016, 6:55 a.m. UTC
The bottom two bits of radix tree entries are reserved for special use by
the radix tree code itself.  A comment detailing their usage was added by:

commit 3bcadd6fa6c4 ("radix-tree: free up the bottom bit of exceptional
entries for reuse")

This comment states that if the bottom two bits are '11', this means that
this is a locked exceptional entry.

It turns out that this bit combination was never actually used.  Radix tree
locking for DAX was indeed implemented, but it actually used the third LSB:

  /* We use lowest available exceptional entry bit for locking */
  #define RADIX_DAX_ENTRY_LOCK (1 << RADIX_TREE_EXCEPTIONAL_SHIFT)

This locking code was also made specific to the DAX code instead of being
generally implemented in radix-tree.h.

So, fix the comment.

Signed-off-by: Ross Zwisler <ross.zwisler@linux.intel.com>
---
 include/linux/radix-tree.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Johannes Thumshirn July 20, 2016, 1:10 p.m. UTC | #1
On Wed, Jul 20, 2016 at 12:55:31AM -0600, Ross Zwisler wrote:
> The bottom two bits of radix tree entries are reserved for special use by
> the radix tree code itself.  A comment detailing their usage was added by:
> 
> commit 3bcadd6fa6c4 ("radix-tree: free up the bottom bit of exceptional
> entries for reuse")
> 
> This comment states that if the bottom two bits are '11', this means that
> this is a locked exceptional entry.
> 
> It turns out that this bit combination was never actually used.  Radix tree
> locking for DAX was indeed implemented, but it actually used the third LSB:
> 
>   /* We use lowest available exceptional entry bit for locking */
>   #define RADIX_DAX_ENTRY_LOCK (1 << RADIX_TREE_EXCEPTIONAL_SHIFT)
> 
> This locking code was also made specific to the DAX code instead of being
> generally implemented in radix-tree.h.
> 
> So, fix the comment.
> 
> Signed-off-by: Ross Zwisler <ross.zwisler@linux.intel.com>

Reviewed-by: Johannes Thumshirn <jthumshirn@suse.de>
diff mbox

Patch

diff --git a/include/linux/radix-tree.h b/include/linux/radix-tree.h
index cb4b7e8..f0fb327 100644
--- a/include/linux/radix-tree.h
+++ b/include/linux/radix-tree.h
@@ -35,7 +35,7 @@ 
  * 00 - data pointer
  * 01 - internal entry
  * 10 - exceptional entry
- * 11 - locked exceptional entry
+ * 11 - this bit combination is currently unused/reserved
  *
  * The internal entry may be a pointer to the next level in the tree, a
  * sibling entry, or an indicator that the entry in this slot has been moved