On Fri, Dec 15, 2017 at 02:03:38PM -0800, Matthew Wilcox wrote: > From: Matthew Wilcox <mawilcox@xxxxxxxxxxxxx> > > Instead of storing a pointer to the slot containing the canonical entry, > store the offset of the slot. Produces slightly more efficient code > (~300 bytes) and simplifies the implementation. > > Signed-off-by: Matthew Wilcox <mawilcox@xxxxxxxxxxxxx> > --- > include/linux/xarray.h | 82 ++++++++++++++++++++++++++++++++++++++++++++++++++ > lib/radix-tree.c | 65 +++++++++++---------------------------- > 2 files changed, 100 insertions(+), 47 deletions(-) > > diff --git a/include/linux/xarray.h b/include/linux/xarray.h > index 49fffc354431..f175350560fd 100644 > --- a/include/linux/xarray.h > +++ b/include/linux/xarray.h > @@ -49,6 +49,17 @@ static inline bool xa_is_value(const void *entry) > return (unsigned long)entry & 1; > } > > +/** > + * xa_is_internal() - Is the entry an internal entry? > + * @entry: Entry retrieved from the XArray > + * > + * Return: %true if the entry is an internal entry. > + */ What does it mean "internal entry"? Is it just a term for non-value and non-data pointer entry? Do we allow anybody besides xarray implementation to use internal entires? Do we have it documented? -- Kirill A. Shutemov -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>