From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Subject: Re: Tagged pointers in the XArray To: Matthew Wilcox Cc: linux-kernel@vger.kernel.org, linux-mm@kvack.org, linux-fsdevel@vger.kernel.org, Gao Xiang , zhong jiang , Chao Yu , Greg Kroah-Hartman References: <20180828222727.GD11400@bombadil.infradead.org> <20180828230329.GE11400@bombadil.infradead.org> From: Randy Dunlap Message-ID: <8352b2da-b638-2205-132b-f32893d1cdb7@infradead.org> Date: Tue, 28 Aug 2018 16:09:23 -0700 MIME-Version: 1.0 In-Reply-To: <20180828230329.GE11400@bombadil.infradead.org> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit Sender: owner-linux-mm@kvack.org List-ID: On 08/28/2018 04:03 PM, Matthew Wilcox wrote: > On Tue, Aug 28, 2018 at 03:39:01PM -0700, Randy Dunlap wrote: >> Just a question, please... >> >> On 08/28/2018 03:27 PM, Matthew Wilcox wrote: >>> >>> 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. > >> 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