linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [GIT PULL] IDA changes for 4.19
@ 2018-08-13 20:00 Matthew Wilcox
  2018-08-22  4:27 ` Matthew Wilcox
  0 siblings, 1 reply; 2+ messages in thread
From: Matthew Wilcox @ 2018-08-13 20:00 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: linux-kernel


Hi Linus,

Please pull the IDA patchset.  It depends on the XArray patchset, so
ignore this pull request if you've decided not to pull the XArray patches.
The new IDA API is similar to ida_simple_get() but better named.  The
internal restructuring of the IDA code removes the bitmap preallocation
nonsense.

----------------------------------------------------------------
The following changes since commit 8d7cf3e16ed4a12ab6bfc05ccb60d70cb6200ffb:

  radix tree: Remove radix_tree_clear_tags (2018-08-10 00:49:25 -0400)

are available in the Git repository at:

  git://git.infradead.org/users/willy/linux-dax.git ida

for you to fetch changes up to e204222244f0d7dd2b43adafc4e8f0f8298868ab:

  ida: Convert to XArray (2018-08-10 09:55:02 -0400)

----------------------------------------------------------------
Matthew Wilcox (27):
      ida: Lock the IDA in ida_destroy
      ida: Add new API
      mtip32xx: Convert to new IDA API
      fs: Convert unnamed_dev_ida to new API
      fs: Convert namespace IDAs to new API
      devpts: Convert to new IDA API
      sd: Convert to new IDA API
      osd: Convert to new IDA API
      rsxx: Convert to new IDA API
      cb710: Convert to new IDA API
      Convert net_namespace to new IDA API
      ppc: Convert mmu context allocation to new IDA API
      media: Convert entity ID allocation to new IDA API
      ppc: Convert vas ID allocation to new IDA API
      dmaengine: Convert to new IDA API
      drm/vmwgfx: Convert to new IDA API
      target/iscsi: Allocate session IDs from an IDA
      ida: Start new test_ida module
      idr-test: Convert ida_check_nomem to new API
      test_ida: Move ida_check_leaf
      test_ida: Move ida_check_max
      test_ida: Convert check_ida_conv to new API
      test_ida: check_ida_destroy and check_ida_alloc
      ida: Remove old API
      ida: Change ida_get_new_above to return the id
      xarray: Track free entries in an XArray
      ida: Convert to XArray

Mike Christie (1):
      iscsi target: fix session creation failure handling

 Documentation/core-api/xarray.rst             |  19 +-
 arch/powerpc/mm/mmu_context_book3s64.c        |  44 +--
 arch/powerpc/platforms/powernv/vas-window.c   |  26 +-
 drivers/block/mtip32xx/mtip32xx.c             |  29 +-
 drivers/block/rsxx/core.c                     |  21 +-
 drivers/dma/dmaengine.c                       |  23 +-
 drivers/gpu/drm/vmwgfx/vmwgfx_gmrid_manager.c |  41 +--
 drivers/media/media-device.c                  |  16 +-
 drivers/misc/cb710/core.c                     |  23 +-
 drivers/scsi/osd/osd_uld.c                    |  22 +-
 drivers/scsi/sd.c                             |  21 +-
 drivers/target/iscsi/iscsi_target.c           |  10 +-
 drivers/target/iscsi/iscsi_target.h           |   4 +-
 drivers/target/iscsi/iscsi_target_login.c     |  41 ++-
 fs/devpts/inode.c                             |  47 +--
 fs/namespace.c                                |  50 +---
 fs/super.c                                    |  67 ++---
 include/linux/idr.h                           |  79 +++--
 include/linux/xarray.h                        |   6 +
 lib/Kconfig.debug                             |   3 +
 lib/Makefile                                  |   1 +
 lib/idr.c                                     | 412 +++++++++++---------------
 lib/radix-tree.c                              |  40 +--
 lib/test_ida.c                                | 177 +++++++++++
 lib/test_xarray.c                             |  61 ++++
 lib/xarray.c                                  | 120 ++++++--
 net/core/net_namespace.c                      |  16 +-
 tools/testing/radix-tree/Makefile             |   1 +
 tools/testing/radix-tree/idr-test.c           | 218 +++-----------
 tools/testing/radix-tree/main.c               |   3 +-
 tools/testing/radix-tree/test.h               |   3 +-
 31 files changed, 781 insertions(+), 863 deletions(-)
 create mode 100644 lib/test_ida.c

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [GIT PULL] IDA changes for 4.19
  2018-08-13 20:00 [GIT PULL] IDA changes for 4.19 Matthew Wilcox
@ 2018-08-22  4:27 ` Matthew Wilcox
  0 siblings, 0 replies; 2+ messages in thread
From: Matthew Wilcox @ 2018-08-22  4:27 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: linux-kernel

On Mon, Aug 13, 2018 at 01:00:03PM -0700, Matthew Wilcox wrote:
> 
> Hi Linus,
> 
> Please pull the IDA patchset.  It depends on the XArray patchset, so
> ignore this pull request if you've decided not to pull the XArray patches.
> The new IDA API is similar to ida_simple_get() but better named.  The
> internal restructuring of the IDA code removes the bitmap preallocation
> nonsense.

I've redone this patchset to not depend on the XArray.  It no longer
removes the bitmap preallocation because that was too entangled with the
rewrite to use the XArray.  But it does give us a better IDA API --
id = ida_alloc(ida, GFP_xxx); ida_free(ida, id); rather than the
cumbersome ida_simple_get(), ida_simple_remove().  The preallocation is
no longer visible to consumers, so removing it will be easier next round.

I hope the net -200 lines of code is convincing.

The following changes since commit 94710cac0ef4ee177a63b5227664b38c95bbf703:

  Linux 4.18 (2018-08-12 13:41:04 -0700)

are available in the Git repository at:

  git://git.infradead.org/users/willy/linux-dax.git ida-4.19

for you to fetch changes up to 1df895190233fcc30d46beca4550bcafb7b959a6:

  ida: Change ida_get_new_above to return the id (2018-08-21 23:54:21 -0400)

----------------------------------------------------------------
Matthew Wilcox (28):
      radix tree test suite: Fix compilation
      radix tree test suite: Enable ubsan
      radix-tree: Fix UBSAN warning
      ida: Lock the IDA in ida_destroy
      ida: Add new API
      mtip32xx: Convert to new IDA API
      fs: Convert unnamed_dev_ida to new API
      fs: Convert namespace IDAs to new API
      devpts: Convert to new IDA API
      sd: Convert to new IDA API
      osd: Convert to new IDA API
      rsxx: Convert to new IDA API
      cb710: Convert to new IDA API
      Convert net_namespace to new IDA API
      ppc: Convert mmu context allocation to new IDA API
      media: Convert entity ID allocation to new IDA API
      ppc: Convert vas ID allocation to new IDA API
      dmaengine: Convert to new IDA API
      drm/vmwgfx: Convert to new IDA API
      target/iscsi: Allocate session IDs from an IDA
      ida: Start new test_ida module
      idr-test: Convert ida_check_nomem to new API
      test_ida: Move ida_check_leaf
      test_ida: Move ida_check_max
      test_ida: Convert check_ida_conv to new API
      test_ida: check_ida_destroy and check_ida_alloc
      ida: Remove old API
      ida: Change ida_get_new_above to return the id

Mike Christie (1):
      iscsi target: fix session creation failure handling

 arch/powerpc/mm/mmu_context_book3s64.c        |  44 +-----
 arch/powerpc/platforms/powernv/vas-window.c   |  26 +---
 drivers/block/mtip32xx/mtip32xx.c             |  29 +---
 drivers/block/rsxx/core.c                     |  21 +--
 drivers/dma/dmaengine.c                       |  23 +--
 drivers/gpu/drm/vmwgfx/vmwgfx_gmrid_manager.c |  41 ++---
 drivers/media/media-device.c                  |  16 +-
 drivers/misc/cb710/core.c                     |  23 +--
 drivers/scsi/osd/osd_uld.c                    |  22 +--
 drivers/scsi/sd.c                             |  21 +--
 drivers/target/iscsi/iscsi_target.c           |  10 +-
 drivers/target/iscsi/iscsi_target.h           |   4 +-
 drivers/target/iscsi/iscsi_target_login.c     |  41 +++--
 fs/devpts/inode.c                             |  47 ++----
 fs/namespace.c                                |  50 ++----
 fs/super.c                                    |  67 +++-----
 include/linux/idr.h                           |  68 ++++++--
 lib/Kconfig.debug                             |   3 +
 lib/Makefile                                  |   1 +
 lib/idr.c                                     | 155 +++++++------------
 lib/radix-tree.c                              |  11 +-
 lib/test_ida.c                                | 177 +++++++++++++++++++++
 net/core/net_namespace.c                      |  16 +-
 tools/testing/radix-tree/Makefile             |   6 +-
 tools/testing/radix-tree/idr-test.c           | 214 +++++---------------------
 tools/testing/radix-tree/linux/xarray.h       |   2 +
 tools/testing/radix-tree/main.c               |  23 +--
 tools/testing/radix-tree/test.h               |   3 +-
 28 files changed, 485 insertions(+), 679 deletions(-)
 create mode 100644 lib/test_ida.c
 create mode 100644 tools/testing/radix-tree/linux/xarray.h


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2018-08-22  4:27 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-08-13 20:00 [GIT PULL] IDA changes for 4.19 Matthew Wilcox
2018-08-22  4:27 ` Matthew Wilcox

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).