/Linux-v4.19/tools/testing/radix-tree/ |
D | idr-test.c | 33 void item_idr_remove(struct idr *idr, int id) in item_idr_remove() argument 35 struct item *item = idr_find(idr, id); in item_idr_remove() 37 idr_remove(idr, id); in item_idr_remove() 44 DEFINE_IDR(idr); in idr_alloc_test() 46 assert(idr_alloc_cyclic(&idr, DUMMY_PTR, 0, 0x4000, GFP_KERNEL) == 0); in idr_alloc_test() 47 assert(idr_alloc_cyclic(&idr, DUMMY_PTR, 0x3ffd, 0x4000, GFP_KERNEL) == 0x3ffd); in idr_alloc_test() 48 idr_remove(&idr, 0x3ffd); in idr_alloc_test() 49 idr_remove(&idr, 0); in idr_alloc_test() 60 id = idr_alloc_cyclic(&idr, item, 1, 0x4000, GFP_KERNEL); in idr_alloc_test() 64 idr_for_each(&idr, item_idr_free, &idr); in idr_alloc_test() [all …]
|
D | Makefile | 7 TARGETS = main idr-test multiorder 8 CORE_OFILES := radix-tree.o idr.o linux.o test.o find_bit.o 10 tag_check.o multiorder.o idr-test.o iteration_check.o benchmark.o 25 idr-test.o: ../../../lib/test_ida.c 26 idr-test: idr-test.o $(CORE_OFILES) 31 $(RM) $(TARGETS) *.o radix-tree.c idr.c generated/map-shift.h 39 ../../../include/linux/idr.h 44 idr.c: ../../../lib/idr.c
|
D | .gitignore | 2 idr.c 3 idr-test
|
/Linux-v4.19/include/linux/ |
D | idr.h | 19 struct idr { struct 56 #define DEFINE_IDR(name) struct idr name = IDR_INIT(name) 66 static inline unsigned int idr_get_cursor(const struct idr *idr) in idr_get_cursor() argument 68 return READ_ONCE(idr->idr_next); in idr_get_cursor() 79 static inline void idr_set_cursor(struct idr *idr, unsigned int val) in idr_set_cursor() argument 81 WRITE_ONCE(idr->idr_next, val); in idr_set_cursor() 101 #define idr_lock(idr) xa_lock(&(idr)->idr_rt) argument 102 #define idr_unlock(idr) xa_unlock(&(idr)->idr_rt) argument 103 #define idr_lock_bh(idr) xa_lock_bh(&(idr)->idr_rt) argument 104 #define idr_unlock_bh(idr) xa_unlock_bh(&(idr)->idr_rt) argument [all …]
|
D | powercap.h | 79 struct idr idr; member 156 struct idr idr; member 157 struct idr *parent_idr;
|
D | pid_namespace.h | 26 struct idr idr; member
|
/Linux-v4.19/lib/ |
D | idr.c | 34 int idr_alloc_u32(struct idr *idr, void *ptr, u32 *nextid, in idr_alloc_u32() argument 39 unsigned int base = idr->idr_base; in idr_alloc_u32() 44 if (WARN_ON_ONCE(!(idr->idr_rt.gfp_mask & ROOT_IS_IDR))) in idr_alloc_u32() 45 idr->idr_rt.gfp_mask |= IDR_RT_MARKER; in idr_alloc_u32() 49 slot = idr_get_free(&idr->idr_rt, &iter, gfp, max - base); in idr_alloc_u32() 55 radix_tree_iter_replace(&idr->idr_rt, &iter, slot, ptr); in idr_alloc_u32() 56 radix_tree_iter_tag_clear(&idr->idr_rt, &iter, IDR_FREE); in idr_alloc_u32() 82 int idr_alloc(struct idr *idr, void *ptr, int start, int end, gfp_t gfp) in idr_alloc() argument 90 ret = idr_alloc_u32(idr, ptr, &id, end > 0 ? end - 1 : INT_MAX, gfp); in idr_alloc() 120 int idr_alloc_cyclic(struct idr *idr, void *ptr, int start, int end, gfp_t gfp) in idr_alloc_cyclic() argument [all …]
|
/Linux-v4.19/drivers/infiniband/hw/cxgb3/ |
D | iwch.h | 109 struct idr cqidr; 110 struct idr qpidr; 111 struct idr mmidr; 152 static inline int insert_handle(struct iwch_dev *rhp, struct idr *idr, in insert_handle() argument 160 ret = idr_alloc(idr, handle, id, id + 1, GFP_NOWAIT); in insert_handle() 168 static inline void remove_handle(struct iwch_dev *rhp, struct idr *idr, u32 id) in remove_handle() argument 171 idr_remove(idr, id); in remove_handle()
|
/Linux-v4.19/drivers/reset/ |
D | reset-ti-sci.c | 48 struct idr idr; member 80 control = idr_find(&data->idr, id); in ti_sci_reset_set() 161 control = idr_find(&data->idr, id); in ti_sci_reset_status() 209 return idr_alloc(&data->idr, control, 0, 0, GFP_KERNEL); in ti_sci_reset_of_xlate() 239 idr_init(&data->idr); in ti_sci_reset_probe() 252 idr_destroy(&data->idr); in ti_sci_reset_remove()
|
/Linux-v4.19/kernel/ |
D | pid.c | 73 .idr = IDR_INIT(init_pid_ns.idr), 152 idr_remove(&ns->idr, upid->nr); in free_pid() 185 if (idr_get_cursor(&tmp->idr) > RESERVED_PIDS) in alloc_pid() 192 nr = idr_alloc_cyclic(&tmp->idr, NULL, pid_min, in alloc_pid() 223 idr_replace(&upid->ns->idr, pid, upid->nr); in alloc_pid() 237 idr_remove(&ns->idr, (pid->numbers + i)->nr); in alloc_pid() 241 idr_set_cursor(&ns->idr, 0); in alloc_pid() 258 return idr_find(&ns->idr, nr); in find_pid_ns() 449 return idr_get_next(&ns->idr, &nr); in find_ge_pid() 464 idr_init(&init_pid_ns.idr); in pid_idr_init()
|
D | pid_namespace.c | 101 idr_init(&ns->idr); in create_pid_namespace() 123 idr_destroy(&ns->idr); in create_pid_namespace() 145 idr_destroy(&ns->idr); in destroy_pid_namespace() 216 idr_for_each_entry_continue(&pid_ns->idr, pid, nr) { in zap_pid_ns_processes() 282 next = idr_get_cursor(&pid_ns->idr) - 1; in pid_ns_ctl_handler() 287 idr_set_cursor(&pid_ns->idr, next + 1); in pid_ns_ctl_handler()
|
/Linux-v4.19/fs/notify/inotify/ |
D | inotify_user.c | 319 idr_set_cursor(&data->idr, (unsigned int)arg); in inotify_ioctl() 359 static int inotify_add_to_idr(struct idr *idr, spinlock_t *idr_lock, in inotify_add_to_idr() argument 367 ret = idr_alloc_cyclic(idr, i_mark, 1, 0, GFP_NOWAIT); in inotify_add_to_idr() 382 struct idr *idr = &group->inotify_data.idr; in inotify_idr_find_locked() local 388 i_mark = idr_find(idr, wd); in inotify_idr_find_locked() 420 struct idr *idr = &group->inotify_data.idr; in inotify_remove_from_idr() local 471 idr_remove(idr, wd); in inotify_remove_from_idr() 564 struct idr *idr = &group->inotify_data.idr; in inotify_new_watch() local 577 ret = inotify_add_to_idr(idr, idr_lock, tmp_i_mark); in inotify_new_watch() 646 idr_init(&group->inotify_data.idr); in inotify_new_group()
|
/Linux-v4.19/drivers/gpu/drm/vc4/ |
D | vc4_perfmon.c | 70 perfmon = idr_find(&vc4file->perfmon.idr, id); in vc4_perfmon_find() 80 idr_init(&vc4file->perfmon.idr); in vc4_perfmon_open_file() 95 idr_for_each(&vc4file->perfmon.idr, vc4_perfmon_idr_del, NULL); in vc4_perfmon_close_file() 96 idr_destroy(&vc4file->perfmon.idr); in vc4_perfmon_close_file() 133 ret = idr_alloc(&vc4file->perfmon.idr, perfmon, VC4_PERFMONID_MIN, in vc4_perfmon_create_ioctl() 154 perfmon = idr_remove(&vc4file->perfmon.idr, req->id); in vc4_perfmon_destroy_ioctl() 173 perfmon = idr_find(&vc4file->perfmon.idr, req->id); in vc4_perfmon_get_values_ioctl()
|
/Linux-v4.19/drivers/infiniband/hw/cxgb4/ |
D | iw_cxgb4.h | 318 struct idr cqidr; 319 struct idr qpidr; 320 struct idr mmidr; 325 struct idr hwtid_idr; 326 struct idr atid_idr; 327 struct idr stid_idr; 365 static inline int _insert_handle(struct c4iw_dev *rhp, struct idr *idr, in _insert_handle() argument 375 ret = idr_alloc(idr, handle, id, id + 1, GFP_ATOMIC); in _insert_handle() 385 static inline int insert_handle(struct c4iw_dev *rhp, struct idr *idr, in insert_handle() argument 388 return _insert_handle(rhp, idr, handle, id, 1); in insert_handle() [all …]
|
/Linux-v4.19/include/drm/ |
D | drm_auth.h | 82 struct idr magic_map; 96 struct idr leases; 97 struct idr lessee_idr;
|
/Linux-v4.19/drivers/tee/optee/ |
D | supp.c | 36 idr_init(&supp->idr); in optee_supp_init() 44 idr_destroy(&supp->idr); in optee_supp_uninit() 56 idr_for_each_entry(&supp->idr, req, id) { in optee_supp_release() 58 idr_remove(&supp->idr, id); in optee_supp_release() 174 *id = idr_alloc(&supp->idr, req, 1, 0, GFP_KERNEL); in supp_pop_entry() 314 req = idr_find(&supp->idr, id); in supp_pop_req() 322 idr_remove(&supp->idr, id); in supp_pop_req()
|
/Linux-v4.19/drivers/staging/unisys/visorhba/ |
D | visorhba_main.c | 89 struct idr idr; member 233 static unsigned int simple_idr_get(struct idr *idrtable, void *p, in simple_idr_get() 262 static void setup_scsitaskmgmt_handles(struct idr *idrtable, spinlock_t *lock, in setup_scsitaskmgmt_handles() 280 static void cleanup_scsitaskmgmt_handles(struct idr *idrtable, in cleanup_scsitaskmgmt_handles() 324 setup_scsitaskmgmt_handles(&devdata->idr, &devdata->privlock, cmdrsp, in forward_taskmgmt_command() 351 cleanup_scsitaskmgmt_handles(&devdata->idr, cmdrsp); in forward_taskmgmt_command() 358 cleanup_scsitaskmgmt_handles(&devdata->idr, cmdrsp); in forward_taskmgmt_command() 707 static void complete_taskmgmt_command(struct idr *idrtable, in complete_taskmgmt_command() 761 complete_taskmgmt_command(&devdata->idr, cmdrsp, in visorhba_serverdown_complete() 959 complete_taskmgmt_command(&devdata->idr, cmdrsp, in drain_queue() [all …]
|
/Linux-v4.19/drivers/tee/ |
D | tee_private.h | 65 struct idr idr; member
|
/Linux-v4.19/drivers/char/ipmi/ |
D | kcs_bmc_aspeed.c | 230 { .idr = LPC_IDR1, .odr = LPC_ODR1, .str = LPC_STR1 }, 231 { .idr = LPC_IDR2, .odr = LPC_ODR2, .str = LPC_STR2 }, 232 { .idr = LPC_IDR3, .odr = LPC_ODR3, .str = LPC_STR3 }, 233 { .idr = LPC_IDR4, .odr = LPC_ODR4, .str = LPC_STR4 }, 287 kcs_bmc->ioreg.idr, kcs_bmc->ioreg.odr, kcs_bmc->ioreg.str); in aspeed_kcs_probe()
|
/Linux-v4.19/Documentation/core-api/ |
D | idr.rst | 66 .. kernel-doc:: include/linux/idr.h 67 :doc: idr sync 72 .. kernel-doc:: lib/idr.c 78 .. kernel-doc:: include/linux/idr.h 80 .. kernel-doc:: lib/idr.c
|
/Linux-v4.19/drivers/net/ethernet/mellanox/mlx5/core/fpga/ |
D | tls.h | 48 struct idr tx_idr; 49 struct idr rx_idr;
|
/Linux-v4.19/drivers/scsi/cxlflash/ |
D | ocxl_hw.h | 44 struct idr idr; /* IDR to manage contexts */ member
|
/Linux-v4.19/drivers/infiniband/core/ |
D | rdma_core.c | 308 ret = idr_alloc(&uobj->ufile->idr, NULL, 0, in idr_add_uobj() 333 uobj = idr_find(&ufile->idr, idrno); in lookup_get_idr_uobject() 458 idr_remove(&ufile->idr, uobj->id); in alloc_begin_idr_uobject() 518 idr_remove(&uobj->ufile->idr, uobj->id); in alloc_abort_idr_uobject() 550 idr_remove(&uobj->ufile->idr, uobj->id); in remove_handle_idr_uobject() 590 WARN_ON(idr_replace(&ufile->idr, uobj, uobj->id)); in alloc_commit_idr_uobject() 724 idr_init(&ufile->idr); in setup_ufile_idr_uobject() 740 idr_for_each_entry(&ufile->idr, entry, id) { in release_ufile_idr_uobject() 745 idr_destroy(&ufile->idr); in release_ufile_idr_uobject()
|
/Linux-v4.19/drivers/gpu/drm/vmwgfx/ |
D | vmwgfx_resource.c | 59 struct idr *idr = &dev_priv->res_idr[res->func->res_type]; in vmw_resource_release_id() local 63 idr_remove(idr, res->id); in vmw_resource_release_id() 74 struct idr *idr = &dev_priv->res_idr[res->func->res_type]; in vmw_resource_release() local 113 idr_remove(idr, id); in vmw_resource_release() 138 struct idr *idr = &dev_priv->res_idr[res->func->res_type]; in vmw_resource_alloc_id() local 145 ret = idr_alloc(idr, res, 1, 0, GFP_NOWAIT); in vmw_resource_alloc_id()
|
/Linux-v4.19/drivers/firmware/arm_scmi/ |
D | driver.c | 127 struct idr tx_idr; 665 struct idr *idr = data; in scmi_mbox_free_channel() local 672 idr_remove(idr, id); in scmi_mbox_free_channel() 681 struct idr *idr = &info->tx_idr; in scmi_remove() local 694 ret = idr_for_each(idr, scmi_mbox_free_channel, idr); in scmi_remove()
|