On Fri, Dec 15, 2017 at 02:03:37PM -0800, Matthew Wilcox wrote:
> From: Matthew Wilcox <mawil...@microsoft.com>
> 
> Introduce xarray value entries to replace the radix tree exceptional
> entry code.  This is a slight change in encoding to allow the use of an
> extra bit (we can now store BITS_PER_LONG - 1 bits in a value entry).
> It is also a change in emphasis; exceptional entries are intimidating
> and different.  As the comment explains, you can choose to store values
> or pointers in the xarray and they are both first-class citizens.
> 
> Signed-off-by: Matthew Wilcox <mawil...@microsoft.com>
> ---
>  arch/powerpc/include/asm/book3s/64/pgtable.h    |   4 +-
>  arch/powerpc/include/asm/nohash/64/pgtable.h    |   4 +-
>  drivers/gpu/drm/i915/i915_gem.c                 |  17 ++--
>  drivers/staging/lustre/lustre/mdc/mdc_request.c |   2 +-
>  fs/btrfs/compression.c                          |   2 +-
>  fs/btrfs/inode.c                                |   4 +-
>  fs/dax.c                                        | 115 
> ++++++++++++------------
>  fs/proc/task_mmu.c                              |   2 +-
>  include/linux/fs.h                              |  48 ++++++----
>  include/linux/radix-tree.h                      |  36 ++------
>  include/linux/swapops.h                         |  19 ++--
>  include/linux/xarray.h                          |  40 +++++++++
>  lib/idr.c                                       |  63 ++++++-------
>  lib/radix-tree.c                                |  21 ++---
>  mm/filemap.c                                    |  10 +--
>  mm/khugepaged.c                                 |   2 +-
>  mm/madvise.c                                    |   2 +-
>  mm/memcontrol.c                                 |   2 +-
>  mm/mincore.c                                    |   2 +-
>  mm/readahead.c                                  |   2 +-
>  mm/shmem.c                                      |  10 +--
>  mm/swap.c                                       |   2 +-
>  mm/truncate.c                                   |  12 +--
>  mm/workingset.c                                 |  12 ++-
>  tools/testing/radix-tree/idr-test.c             |   6 +-
>  tools/testing/radix-tree/linux/radix-tree.h     |   1 +
>  tools/testing/radix-tree/multiorder.c           |  47 +++++-----
>  tools/testing/radix-tree/test.c                 |   2 +-
>  28 files changed, 249 insertions(+), 240 deletions(-)

Everything looks fine to me after quick scan, but hat's a lot of changes for
one patch...

> @@ -565,7 +565,7 @@ unsigned long invalidate_mapping_pages(struct 
> address_space *mapping,
>                       if (index > end)
>                               break;
>  
> -                     if (radix_tree_exceptional_entry(page)) {
> +                     if (xa_is_value(page)) {
>                               invalidate_exceptional_entry(mapping, index,
>                                                            page);
>                               continue;
> @@ -696,7 +696,7 @@ int invalidate_inode_pages2_range(struct address_space 
> *mapping,
>                       if (index > end)
>                               break;
>  
> -                     if (radix_tree_exceptional_entry(page)) {
> +                     if (xa_is_value(page)) {
>                               if (!invalidate_exceptional_entry2(mapping,
>                                                                  index, page))
>                                       ret = -EBUSY;

invalidate_exceptional_entry? Are we going to leave the terminology here as is?

-- 
 Kirill A. Shutemov
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to