From: Tejun Heo <tj@kernel.org>
To: akpm@linux-foundation.org
Cc: linux-kernel@vger.kernel.org
Subject: [PATCHSET] idr: deprecate idr_remova_all() and add idr_alloc()
Date: Wed, 6 Feb 2013 11:39:32 -0800 [thread overview]
Message-ID: <1360179649-22465-1-git-send-email-tj@kernel.org> (raw)
(If you're reading this patchset for the first time, this patchset is
an effort to improve idr interface. This posting is mostly for
collecting and routing the patches towards -mm. Please follow the
link at the end for details on each patchset.)
Hello, Andrew.
This patchset is combination of the following three on top of
linux-next as of 20130204 (the one before idr_removal_all() got
included).
[1] [PATCH] idr: fix a subtle bug in idr_get_next()
+ [2] [PATCHSET] idr: deprecate idr_remove_all()
+ [3] [PATCHSET] idr: implement idr_alloc() and convert existing users (w/ all updates)
Please note that we need the idr_get_next() fix before
idr_remove_all() deprecation.
The idr_alloc() part has all the posted updates rolled in and acks
added, and I think it's at least ready for testing. Ah, right, I
skipped deprecation of idr_pre_get() and idr_get_new*() for now. nfs
changes are being routed separately and we can do the deprecation
after after -rc1.
This patchset contains the following 77 patches.
0001-idr-fix-a-subtle-bug-in-idr_get_next.patch
0002-idr-make-idr_destroy-imply-idr_remove_all.patch
0003-atm-nicstar-don-t-use-idr_remove_all.patch
0004-block-loop-don-t-use-idr_remove_all.patch
0005-firewire-don-t-use-idr_remove_all.patch
0006-drm-don-t-use-idr_remove_all.patch
0007-dm-don-t-use-idr_remove_all.patch
0008-remoteproc-don-t-use-idr_remove_all.patch
0009-rpmsg-don-t-use-idr_remove_all.patch
0010-dlm-use-idr_for_each_entry-in-recover_idr_clear-erro.patch
0011-dlm-don-t-use-idr_remove_all.patch
0012-nfs-idr_destroy-no-longer-needs-idr_remove_all.patch
0013-inotify-don-t-use-idr_remove_all.patch
0014-cgroup-don-t-use-idr_remove_all.patch
0015-idr-deprecate-idr_remove_all.patch
0016-idr-cosmetic-updates-to-struct-initializer-definitio.patch
0017-idr-relocate-idr_for_each_entry-and-reorganize-id-r-.patch
0018-idr-remove-_idr_rc_to_errno-hack.patch
0019-idr-refactor-idr_get_new_above.patch
0020-idr-implement-idr_preload-_end-and-idr_alloc.patch
0021-block-fix-synchronization-and-limit-check-in-blk_all.patch
0022-block-convert-to-idr_alloc.patch
0023-block-loop-convert-to-idr_alloc.patch
0024-atm-nicstar-convert-to-idr_alloc.patch
0025-drbd-convert-to-idr_alloc.patch
0026-dca-convert-to-idr_alloc.patch
0027-dmaengine-convert-to-idr_alloc.patch
0028-firewire-add-minor-number-range-check-to-fw_device_i.patch
0029-firewire-convert-to-idr_alloc.patch
0030-gpio-convert-to-idr_alloc.patch
0031-drm-convert-to-idr_alloc.patch
0032-drm-exynos-convert-to-idr_alloc.patch
0033-drm-i915-convert-to-idr_alloc.patch
0034-drm-sis-convert-to-idr_alloc.patch
0035-drm-via-convert-to-idr_alloc.patch
0036-drm-vmwgfx-convert-to-idr_alloc.patch
0037-i2c-convert-to-idr_alloc.patch
0038-IB-core-convert-to-idr_alloc.patch
0039-IB-amso1100-convert-to-idr_alloc.patch
0040-IB-cxgb3-convert-to-idr_alloc.patch
0041-IB-cxgb4-convert-to-idr_alloc.patch
0042-IB-ehca-convert-to-idr_alloc.patch
0043-IB-ipath-convert-to-idr_alloc.patch
0044-IB-mlx4-convert-to-idr_alloc.patch
0045-IB-ocrdma-convert-to-idr_alloc.patch
0046-IB-qib-convert-to-idr_alloc.patch
0047-dm-convert-to-idr_alloc.patch
0048-memstick-convert-to-idr_alloc.patch
0049-mfd-convert-to-idr_alloc.patch
0050-misc-c2port-convert-to-idr_alloc.patch
0051-misc-tifm_core-convert-to-idr_alloc.patch
0052-mmc-convert-to-idr_alloc.patch
0053-mtd-convert-to-idr_alloc.patch
0054-macvtap-convert-to-idr_alloc.patch
0055-ppp-convert-to-idr_alloc.patch
0056-power-convert-to-idr_alloc.patch
0057-pps-convert-to-idr_alloc.patch
0058-remoteproc-convert-to-idr_alloc.patch
0059-rpmsg-convert-to-idr_alloc.patch
0060-scsi-bfa-convert-to-idr_alloc.patch
0061-scsi-convert-to-idr_alloc.patch
0062-target-iscsi-convert-to-idr_alloc.patch
0063-scsi-lpfc-convert-to-idr_alloc.patch
0064-thermal-convert-to-idr_alloc.patch
0065-uio-convert-to-idr_alloc.patch
0066-vfio-convert-to-idr_alloc.patch
0067-dlm-convert-to-idr_alloc.patch
0068-inotify-convert-to-idr_alloc.patch
0069-ocfs2-convert-to-idr_alloc.patch
0070-ipc-convert-to-idr_alloc.patch
0071-cgroup-convert-to-idr_alloc.patch
0072-events-convert-to-idr_alloc.patch
0073-posix-timers-convert-to-idr_alloc.patch
0074-net-9p-convert-to-idr_alloc.patch
0075-mac80211-convert-to-idr_alloc.patch
0076-sctp-convert-to-idr_alloc.patch
0077-nfs4client-convert-to-idr_alloc.patch
and is available in the following git branch.
git://git.kernel.org/pub/scm/linux/kernel/git/tj/misc.git convert-to-idr_alloc
diffstat follows.
block/bsg.c | 26 --
block/genhd.c | 22 --
drivers/atm/nicstar.c | 25 --
drivers/block/drbd/drbd_main.c | 29 +-
drivers/block/loop.c | 24 --
drivers/dca/dca-sysfs.c | 23 --
drivers/dma/dmaengine.c | 16 -
drivers/firewire/core-cdev.c | 20 -
drivers/firewire/core-device.c | 4
drivers/gpio/gpiolib.c | 11 -
drivers/gpu/drm/drm_context.c | 19 -
drivers/gpu/drm/drm_crtc.c | 20 -
drivers/gpu/drm/drm_drv.c | 1
drivers/gpu/drm/drm_gem.c | 37 +--
drivers/gpu/drm/drm_stub.c | 19 -
drivers/gpu/drm/exynos/exynos_drm_ipp.c | 20 -
drivers/gpu/drm/i915/i915_gem_context.c | 21 --
drivers/gpu/drm/sis/sis_drv.c | 1
drivers/gpu/drm/sis/sis_mm.c | 13 -
drivers/gpu/drm/via/via_map.c | 1
drivers/gpu/drm/via/via_mm.c | 13 -
drivers/gpu/drm/vmwgfx/vmwgfx_resource.c | 17 -
drivers/i2c/i2c-core.c | 45 ----
drivers/infiniband/core/cm.c | 22 +-
drivers/infiniband/core/cma.c | 24 --
drivers/infiniband/core/sa_query.c | 18 -
drivers/infiniband/core/ucm.c | 16 -
drivers/infiniband/core/ucma.c | 32 ---
drivers/infiniband/core/uverbs_cmd.c | 17 -
drivers/infiniband/hw/amso1100/c2_qp.c | 19 +
drivers/infiniband/hw/cxgb3/iwch.h | 24 +-
drivers/infiniband/hw/cxgb4/iw_cxgb4.h | 27 +-
drivers/infiniband/hw/ehca/ehca_cq.c | 27 --
drivers/infiniband/hw/ehca/ehca_qp.c | 34 +--
drivers/infiniband/hw/ipath/ipath_driver.c | 16 -
drivers/infiniband/hw/mlx4/cm.c | 32 +--
drivers/infiniband/hw/ocrdma/ocrdma_main.c | 14 -
drivers/infiniband/hw/qib/qib_init.c | 21 --
drivers/md/dm.c | 55 +----
drivers/memstick/core/memstick.c | 21 --
drivers/memstick/core/mspro_block.c | 17 -
drivers/mfd/rtsx_pcr.c | 13 -
drivers/misc/c2port/core.c | 22 --
drivers/misc/tifm_core.c | 11 -
drivers/mmc/core/host.c | 11 -
drivers/mtd/mtdcore.c | 9
drivers/net/macvtap.c | 21 --
drivers/net/ppp/ppp_generic.c | 33 ---
drivers/power/bq2415x_charger.c | 11 -
drivers/power/bq27x00_battery.c | 9
drivers/power/ds2782_battery.c | 9
drivers/pps/kapi.c | 2
drivers/pps/pps.c | 36 +--
drivers/remoteproc/remoteproc_core.c | 11 -
drivers/rpmsg/virtio_rpmsg_bus.c | 31 +--
drivers/scsi/bfa/bfad_im.c | 15 -
drivers/scsi/ch.c | 21 --
drivers/scsi/lpfc/lpfc_init.c | 12 -
drivers/scsi/sg.c | 43 +---
drivers/scsi/st.c | 27 --
drivers/target/iscsi/iscsi_target.c | 15 -
drivers/target/iscsi/iscsi_target_login.c | 15 -
drivers/thermal/cpu_cooling.c | 17 -
drivers/thermal/thermal_sys.c | 17 -
drivers/uio/uio.c | 19 -
drivers/vfio/vfio.c | 17 -
fs/dlm/lock.c | 18 -
fs/dlm/lockspace.c | 1
fs/dlm/recover.c | 52 ++---
fs/nfs/client.c | 1
fs/nfs/nfs4client.c | 13 -
fs/notify/inotify/inotify_fsnotify.c | 1
fs/notify/inotify/inotify_user.c | 24 +-
fs/ocfs2/cluster/tcp.c | 32 +--
include/linux/idr.h | 109 +++++++---
ipc/util.c | 30 --
kernel/cgroup.c | 31 ---
kernel/events/core.c | 10
kernel/posix-timers.c | 18 -
lib/idr.c | 298 ++++++++++++++++++++---------
net/9p/util.c | 17 -
net/mac80211/main.c | 2
net/mac80211/tx.c | 18 -
net/sctp/associola.c | 31 +--
84 files changed, 832 insertions(+), 1184 deletions(-)
Thanks.
--
tejun
[1] https://lkml.org/lkml/2013/2/2/145
[2] https://lkml.org/lkml/2013/1/25/759
[3] http://thread.gmane.org/gmane.linux.kernel/1434387
next reply other threads:[~2013-02-06 19:49 UTC|newest]
Thread overview: 135+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-02-06 19:39 Tejun Heo [this message]
2013-02-06 19:39 ` [PATCH 01/77] idr: fix a subtle bug in idr_get_next() Tejun Heo
2013-02-06 19:39 ` [PATCH 02/77] idr: make idr_destroy() imply idr_remove_all() Tejun Heo
2013-02-06 19:39 ` [PATCH 03/77] atm/nicstar: don't use idr_remove_all() Tejun Heo
2013-02-06 19:39 ` [PATCH 04/77] block/loop: " Tejun Heo
2013-02-06 19:39 ` [PATCH 05/77] firewire: " Tejun Heo
2013-02-06 19:39 ` [PATCH 06/77] drm: " Tejun Heo
2013-02-06 19:39 ` Tejun Heo
2013-02-06 19:39 ` [PATCH 07/77] dm: " Tejun Heo
2013-02-06 19:39 ` [PATCH 08/77] remoteproc: " Tejun Heo
2013-02-06 19:39 ` [PATCH 09/77] rpmsg: " Tejun Heo
2013-02-06 19:39 ` [Cluster-devel] [PATCH 10/77] dlm: use idr_for_each_entry() in recover_idr_clear() error path Tejun Heo
2013-02-06 19:39 ` Tejun Heo
2013-02-06 19:39 ` [Cluster-devel] [PATCH 11/77] dlm: don't use idr_remove_all() Tejun Heo
2013-02-06 19:39 ` Tejun Heo
2013-02-06 19:39 ` [PATCH 12/77] nfs: idr_destroy() no longer needs idr_remove_all() Tejun Heo
2013-02-06 19:39 ` [PATCH 13/77] inotify: don't use idr_remove_all() Tejun Heo
2013-02-06 19:39 ` [PATCH 15/77] idr: deprecate idr_remove_all() Tejun Heo
2013-02-06 19:39 ` [PATCH 16/77] idr: cosmetic updates to struct / initializer definitions Tejun Heo
2013-02-06 19:39 ` [PATCH 17/77] idr: relocate idr_for_each_entry() and reorganize id[r|a]_get_new() Tejun Heo
2013-02-06 19:39 ` [PATCH 18/77] idr: remove _idr_rc_to_errno() hack Tejun Heo
2013-02-06 19:39 ` [PATCH 19/77] idr: refactor idr_get_new_above() Tejun Heo
2013-02-06 19:39 ` [PATCH 20/77] idr: implement idr_preload[_end]() and idr_alloc() Tejun Heo
2013-02-07 19:53 ` [PATCH v3 " Tejun Heo
2013-02-06 19:39 ` [PATCH 21/77] block: fix synchronization and limit check in blk_alloc_devt() Tejun Heo
2013-02-06 22:24 ` Andrew Morton
2013-02-06 22:27 ` Tejun Heo
2013-02-06 22:32 ` Andrew Morton
2013-02-06 22:33 ` Tejun Heo
2013-02-06 19:39 ` [PATCH 22/77] block: convert to idr_alloc() Tejun Heo
2013-02-06 19:39 ` [PATCH 23/77] block/loop: " Tejun Heo
2013-02-07 18:25 ` [PATCH 22.5/77] block/loop: fix error return value in loop_add() Tejun Heo
2013-02-07 18:26 ` [PATCH v2 23/77] block/loop: convert to idr_alloc() Tejun Heo
2013-02-06 19:39 ` [PATCH 24/77] atm/nicstar: " Tejun Heo
2013-02-06 19:39 ` [Drbd-dev] [PATCH 25/77] drbd: " Tejun Heo
2013-02-06 19:39 ` Tejun Heo
2013-02-06 19:39 ` [PATCH 26/77] dca: " Tejun Heo
2013-02-06 19:39 ` [PATCH 27/77] dmaengine: " Tejun Heo
2013-02-06 19:40 ` [PATCH 28/77] firewire: add minor number range check to fw_device_init() Tejun Heo
2013-02-06 19:40 ` [PATCH 29/77] firewire: convert to idr_alloc() Tejun Heo
2013-02-06 19:40 ` [PATCH 30/77] gpio: " Tejun Heo
2013-02-06 19:40 ` [PATCH 31/77] drm: " Tejun Heo
2013-02-06 19:40 ` Tejun Heo
2013-02-06 19:40 ` [PATCH 32/77] drm/exynos: " Tejun Heo
2013-02-06 19:40 ` [PATCH 33/77] drm/i915: " Tejun Heo
2013-02-06 19:40 ` [PATCH 34/77] drm/sis: " Tejun Heo
2013-02-06 19:40 ` Tejun Heo
2013-02-06 19:40 ` [PATCH 35/77] drm/via: " Tejun Heo
2013-02-06 19:40 ` Tejun Heo
2013-02-06 19:40 ` [PATCH 36/77] drm/vmwgfx: " Tejun Heo
2013-02-06 19:40 ` [PATCH 38/77] IB/core: " Tejun Heo
2013-02-06 19:40 ` [PATCH 39/77] IB/amso1100: " Tejun Heo
2013-02-06 19:40 ` [PATCH 40/77] IB/cxgb3: " Tejun Heo
2013-02-06 19:40 ` [PATCH 41/77] IB/cxgb4: " Tejun Heo
2013-02-06 19:40 ` [PATCH 43/77] IB/ipath: " Tejun Heo
2013-02-06 19:40 ` [PATCH 44/77] IB/mlx4: " Tejun Heo
2013-02-06 19:40 ` [PATCH 45/77] IB/ocrdma: " Tejun Heo
2013-02-06 19:40 ` [PATCH 46/77] IB/qib: " Tejun Heo
2013-02-06 19:40 ` [PATCH 47/77] dm: " Tejun Heo
2013-02-06 19:40 ` Tejun Heo
2013-02-06 19:40 ` [PATCH 48/77] memstick: " Tejun Heo
2013-02-06 19:40 ` [PATCH 49/77] mfd: " Tejun Heo
2013-02-06 19:40 ` [PATCH 50/77] misc/c2port: " Tejun Heo
2013-02-06 19:40 ` [PATCH 51/77] misc/tifm_core: " Tejun Heo
2013-02-06 19:40 ` [PATCH 52/77] mmc: " Tejun Heo
2013-02-06 19:40 ` [PATCH 53/77] mtd: " Tejun Heo
2013-02-06 19:40 ` Tejun Heo
2013-02-06 19:40 ` [PATCH 54/77] macvtap: " Tejun Heo
2013-02-06 19:40 ` [PATCH 55/77] ppp: " Tejun Heo
2013-02-06 19:40 ` Tejun Heo
2013-02-06 19:40 ` [PATCH 56/77] power: " Tejun Heo
2013-02-06 19:40 ` [PATCH 57/77] pps: " Tejun Heo
2013-02-06 19:40 ` [PATCH 58/77] remoteproc: " Tejun Heo
2013-02-06 19:40 ` [PATCH 59/77] rpmsg: " Tejun Heo
2013-02-06 19:40 ` [PATCH 60/77] scsi/bfa: " Tejun Heo
2013-02-06 19:40 ` [PATCH 61/77] scsi: " Tejun Heo
2013-02-06 19:40 ` [PATCH 62/77] target/iscsi: " Tejun Heo
2013-02-06 19:40 ` [PATCH 63/77] scsi/lpfc: " Tejun Heo
2013-02-11 22:47 ` James Smart
2013-02-11 22:47 ` James Smart
2013-02-06 19:40 ` [PATCH 64/77] thermal: " Tejun Heo
2013-02-06 19:40 ` [PATCH 65/77] uio: " Tejun Heo
2013-02-06 19:40 ` [PATCH 66/77] vfio: " Tejun Heo
2013-02-06 19:40 ` [PATCH 67/77] dlm: " Tejun Heo
2013-03-11 19:29 ` David Teigland
2013-03-11 20:28 ` Tejun Heo
2013-03-12 15:17 ` David Teigland
2013-03-12 21:22 ` [PATCH] idr: idr_alloc() shouldn't trigger lowmem warning when preloaded Tejun Heo
2013-02-06 19:40 ` [PATCH 68/77] inotify: convert to idr_alloc() Tejun Heo
2013-02-06 19:40 ` [PATCH 69/77] ocfs2: " Tejun Heo
2013-02-06 19:40 ` [PATCH 70/77] ipc: " Tejun Heo
2013-02-07 19:43 ` [PATCH v2 " Tejun Heo
[not found] ` <1360179649-22465-1-git-send-email-tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2013-02-06 19:39 ` [PATCH 14/77] cgroup: don't use idr_remove_all() Tejun Heo
2013-02-06 19:39 ` Tejun Heo
[not found] ` <1360179649-22465-15-git-send-email-tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2013-02-07 1:29 ` Li Zefan
2013-02-07 1:29 ` Li Zefan
2013-02-07 1:29 ` Li Zefan
2013-02-06 19:40 ` [PATCH 37/77] i2c: convert to idr_alloc() Tejun Heo
2013-02-06 19:40 ` Tejun Heo
2013-02-07 15:28 ` Mark Brown
[not found] ` <20130207152831.GA14797-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2013-02-07 16:32 ` Tejun Heo
2013-02-07 16:32 ` Tejun Heo
[not found] ` <20130207163247.GL2875-Gd/HAXX7CRxy/B6EtB590w@public.gmane.org>
2013-02-07 16:39 ` Mark Brown
2013-02-07 16:39 ` Mark Brown
[not found] ` <20130207163958.GY4720-yzvPICuk2AATkU/dhu1WVueM+bqZidxxQQ4Iyu8u01E@public.gmane.org>
2013-02-07 16:55 ` [PATCH v2] " Tejun Heo
2013-02-07 16:55 ` Tejun Heo
2013-02-07 18:52 ` Mark Brown
[not found] ` <20130207165547.GO2875-Gd/HAXX7CRxy/B6EtB590w@public.gmane.org>
2013-02-08 12:10 ` Mark Brown
2013-02-08 12:10 ` Mark Brown
2013-02-10 11:47 ` Wolfram Sang
2013-02-10 11:47 ` Wolfram Sang
[not found] ` <20130210114729.GB5472-8EAEigeeuNG034pCzgS/Qg7AFbiQbgqx@public.gmane.org>
2013-02-12 17:34 ` [PATCH -mm] i2c: style cleanups after idr_alloc() conversion Tejun Heo
2013-02-12 17:34 ` Tejun Heo
[not found] ` <20130212173414.GD7348-Gd/HAXX7CRxy/B6EtB590w@public.gmane.org>
2013-02-12 17:36 ` Tejun Heo
2013-02-12 17:36 ` Tejun Heo
[not found] ` <20130212173648.GE7348-Gd/HAXX7CRxy/B6EtB590w@public.gmane.org>
2013-02-12 18:00 ` Jean Delvare
2013-02-12 18:00 ` Jean Delvare
2013-02-13 20:42 ` Wolfram Sang
2013-02-13 20:42 ` Wolfram Sang
2013-02-06 19:40 ` [PATCH 42/77] IB/ehca: convert to idr_alloc() Tejun Heo
2013-02-06 19:40 ` Tejun Heo
2013-02-06 19:40 ` [PATCH 71/77] cgroup: " Tejun Heo
2013-02-06 19:40 ` Tejun Heo
2013-02-06 19:40 ` [PATCH 72/77] events: " Tejun Heo
2013-02-06 19:40 ` [PATCH 73/77] posix-timers: " Tejun Heo
2013-02-06 19:40 ` [PATCH 74/77] net/9p: " Tejun Heo
2013-02-06 19:40 ` [PATCH 75/77] mac80211: " Tejun Heo
2013-02-06 19:40 ` [PATCH 76/77] sctp: " Tejun Heo
2013-02-06 19:40 ` Tejun Heo
2013-02-06 20:07 ` Vlad Yasevich
2013-02-06 20:07 ` Vlad Yasevich
2013-02-07 14:49 ` Neil Horman
2013-02-07 14:49 ` Neil Horman
2013-02-06 19:40 ` [PATCH 77/77] nfs4client: " Tejun Heo
2013-02-08 4:04 ` [PATCHSET] idr: deprecate idr_remova_all() and add idr_alloc() Dave Airlie
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1360179649-22465-1-git-send-email-tj@kernel.org \
--to=tj@kernel.org \
--cc=akpm@linux-foundation.org \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.