Thread (7 messages) 7 messages, 3 authors, 2018-08-29

Re: Tagged pointers in the XArray

From: Randy Dunlap <hidden>
Date: 2018-08-28 23:09:23
Also in: linux-fsdevel, lkml

On 08/28/2018 04:03 PM, Matthew Wilcox wrote:
On Tue, Aug 28, 2018 at 03:39:01PM -0700, Randy Dunlap wrote:
quoted
Just a question, please...

On 08/28/2018 03:27 PM, Matthew Wilcox wrote:
quoted
diff --git a/include/linux/xarray.h b/include/linux/xarray.h
index c74556ea4258..d1b383f3063f 100644
--- a/include/linux/xarray.h
+++ b/include/linux/xarray.h
@@ -150,6 +150,54 @@ static inline int xa_err(void *entry)
 	return 0;
 }
 
+/**
+ * xa_tag_pointer() - Create an XArray entry for a tagged pointer.
+ * @p: Plain pointer.
+ * @tag: Tag value (0, 1 or 3).
+ *
What's wrong with a tag value of 2?
That conflicts with the XArray's internal entries and you get a WARN_ON
when you try to store it in the array.
quoted
and what happens when one is used?  [I don't see anything preventing that.]
Right, there's nothing preventing you from using the value 5 or 19
or 16777216 either ... I did put in a WARN_ON_ONCE to begin with, but
decided that was unnecessary.

Right now our only user uses 0 and 1, so even documenting 3 as a
possibility isn't _necessary_, but some day somebody is going to want
to add FILE_NOT_FOUND
https://thedailywtf.com/articles/What_Is_Truth_0x3f_
Thanks.  :)

-- 
~Randy
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help