Home
last modified time | relevance | path

Searched refs:idr (Results 1 – 25 of 181) sorted by relevance

12345678

/linux/tools/testing/radix-tree/
A Didr-test.c25 void item_idr_remove(struct idr *idr, int id) in item_idr_remove() argument
56 idr_for_each(&idr, item_idr_free, &idr); in idr_alloc_test()
65 idr_replace(&idr, &idr, 10); in idr_replace_test()
144 idr_for_each(&idr, item_idr_free, &idr); in idr_nowait_test()
169 idr_for_each(&idr, item_idr_free, &idr); in idr_get_next_test()
180 void idr_u32_test1(struct idr *idr, u32 handle) in idr_u32_test1() argument
222 static void idr_align_test(struct idr *idr) in idr_align_test() argument
357 idr_for_each(&idr, item_idr_free, &idr); in idr_checks()
379 idr_for_each(&idr, item_idr_free, &idr); in idr_checks()
398 idr_for_each(&idr, item_idr_free, &idr); in idr_checks()
[all …]
A DMakefile5 TARGETS = main idr-test multiorder xarray maple
8 regression3.o regression4.o tag_check.o multiorder.o idr-test.o \
17 idr-test.o: ../../../lib/test_ida.c
18 idr-test: idr-test.o $(CORE_OFILES)
27 $(RM) $(TARGETS) *.o radix-tree.c idr.c generated/*
A D.gitignore5 idr.c
6 idr-test
/linux/include/linux/
A Didr.h19 struct idr { struct
66 static inline unsigned int idr_get_cursor(const struct idr *idr) in idr_get_cursor() argument
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
105 #define idr_lock_irq(idr) xa_lock_irq(&(idr)->idr_rt) argument
106 #define idr_unlock_irq(idr) xa_unlock_irq(&(idr)->idr_rt) argument
135 static inline void idr_init_base(struct idr *idr, int base) in idr_init_base() argument
149 static inline void idr_init(struct idr *idr) in idr_init() argument
[all …]
A Dpowercap.h66 struct idr idr; member
143 struct idr idr; member
144 struct idr *parent_idr;
A Dpid_namespace.h27 struct idr idr; member
/linux/lib/
A Didr.c33 int idr_alloc_u32(struct idr *idr, void *ptr, u32 *nextid, in idr_alloc_u32() argument
79 int idr_alloc(struct idr *idr, void *ptr, int start, int end, gfp_t gfp) in idr_alloc() argument
152 void *idr_remove(struct idr *idr, unsigned long id) in idr_remove() argument
154 return radix_tree_delete_item(&idr->idr_rt, id - idr->idr_base, NULL); in idr_remove()
172 void *idr_find(const struct idr *idr, unsigned long id) in idr_find() argument
174 return radix_tree_lookup(&idr->idr_rt, id - idr->idr_base); in idr_find()
195 int idr_for_each(const struct idr *idr, in idr_for_each() argument
227 void *idr_get_next_ul(struct idr *idr, unsigned long *nextid) in idr_get_next_ul() argument
264 void *idr_get_next(struct idr *idr, int *nextid) in idr_get_next() argument
290 void *idr_replace(struct idr *idr, void *ptr, unsigned long id) in idr_replace() argument
[all …]
/linux/Documentation/translations/zh_CN/core-api/
A Didr.rst5 :Original: Documentation/core-api/idr.rst
66 IDR同步的相关内容请见include/linux/idr.h文件中的“DOC: idr sync”。
71 IDA的用法的相关内容请见lib/idr.c文件中的“DOC: IDA description”。
78 include/linux/idr.h
80 lib/idr.c
/linux/drivers/reset/
A Dreset-ti-sci.c40 struct idr idr; member
72 control = idr_find(&data->idr, id); in ti_sci_reset_set()
153 control = idr_find(&data->idr, id); in ti_sci_reset_status()
201 return idr_alloc(&data->idr, control, 0, 0, GFP_KERNEL); in ti_sci_reset_of_xlate()
231 idr_init(&data->idr); in ti_sci_reset_probe()
244 idr_destroy(&data->idr); in ti_sci_reset_remove()
/linux/fs/notify/inotify/
A Dinotify_user.c346 idr_set_cursor(&data->idr, (unsigned int)arg); in inotify_ioctl()
394 static int inotify_add_to_idr(struct idr *idr, spinlock_t *idr_lock, in inotify_add_to_idr() argument
402 ret = idr_alloc_cyclic(idr, i_mark, 1, 0, GFP_NOWAIT); in inotify_add_to_idr()
417 struct idr *idr = &group->inotify_data.idr; in inotify_idr_find_locked() local
423 i_mark = idr_find(idr, wd); in inotify_idr_find_locked()
455 struct idr *idr = &group->inotify_data.idr; in inotify_remove_from_idr() local
506 idr_remove(idr, wd); in inotify_remove_from_idr()
596 struct idr *idr = &group->inotify_data.idr; in inotify_new_watch() local
608 ret = inotify_add_to_idr(idr, idr_lock, tmp_i_mark); in inotify_new_watch()
679 idr_init(&group->inotify_data.idr); in inotify_new_group()
/linux/fs/smb/server/
A Dvfs_cache.c370 fp = idr_find(ft->idr, id); in __ksmbd_lookup_fd()
406 fp = idr_find(ft->idr, id); in ksmbd_close_fd()
916 idr_destroy(global_ft.idr); in ksmbd_free_global_file_table()
917 kfree(global_ft.idr); in ksmbd_free_global_file_table()
986 ft->idr = kzalloc(sizeof(struct idr), GFP_KERNEL); in ksmbd_init_file_table()
987 if (!ft->idr) in ksmbd_init_file_table()
990 idr_init(ft->idr); in ksmbd_init_file_table()
997 if (!ft->idr) in ksmbd_destroy_file_table()
1001 idr_destroy(ft->idr); in ksmbd_destroy_file_table()
1002 kfree(ft->idr); in ksmbd_destroy_file_table()
[all …]
/linux/sound/soc/qcom/qdsp6/
A Dq6apm.h63 struct idr graph_idr;
64 struct idr graph_info_idr;
65 struct idr sub_graphs_idr;
66 struct idr containers_idr;
67 struct idr modules_idr;
/linux/include/drm/
A Ddrm_auth.h64 struct idr magic_map;
121 struct idr leases;
129 struct idr lessee_idr;
/linux/drivers/gpu/drm/vc4/
A Dvc4_perfmon.c97 perfmon = idr_find(&vc4file->perfmon.idr, id); in vc4_perfmon_find()
112 idr_init_base(&vc4file->perfmon.idr, VC4_PERFMONID_MIN); in vc4_perfmon_open_file()
138 idr_for_each(&vc4file->perfmon.idr, vc4_perfmon_idr_del, vc4); in vc4_perfmon_close_file()
139 idr_destroy(&vc4file->perfmon.idr); in vc4_perfmon_close_file()
187 ret = idr_alloc(&vc4file->perfmon.idr, perfmon, VC4_PERFMONID_MIN, in vc4_perfmon_create_ioctl()
217 perfmon = idr_remove(&vc4file->perfmon.idr, req->id); in vc4_perfmon_destroy_ioctl()
245 perfmon = idr_find(&vc4file->perfmon.idr, req->id); in vc4_perfmon_get_values_ioctl()
/linux/kernel/
A Dpid.c81 .idr = IDR_INIT(init_pid_ns.idr),
159 idr_remove(&ns->idr, upid->nr); in free_pid()
219 nr = idr_alloc(&tmp->idr, NULL, tid, in alloc_pid()
233 if (idr_get_cursor(&tmp->idr) > RESERVED_PIDS) in alloc_pid()
240 nr = idr_alloc_cyclic(&tmp->idr, NULL, pid_min, in alloc_pid()
283 idr_replace(&upid->ns->idr, pid, upid->nr); in alloc_pid()
298 idr_remove(&upid->ns->idr, upid->nr); in alloc_pid()
303 idr_set_cursor(&ns->idr, 0); in alloc_pid()
320 return idr_find(&ns->idr, nr); in find_pid_ns()
533 return idr_get_next(&ns->idr, &nr); in find_ge_pid()
[all …]
A Dpid_namespace.c97 idr_init(&ns->idr); in create_pid_namespace()
120 idr_destroy(&ns->idr); in create_pid_namespace()
142 idr_destroy(&ns->idr); in destroy_pid_namespace()
206 idr_for_each_entry_continue(&pid_ns->idr, pid, nr) { in zap_pid_ns_processes()
274 next = idr_get_cursor(&pid_ns->idr) - 1; in pid_ns_ctl_handler()
279 idr_set_cursor(&pid_ns->idr, next + 1); in pid_ns_ctl_handler()
/linux/drivers/gpu/drm/v3d/
A Dv3d_perfmon.c293 perfmon = idr_find(&v3d_priv->perfmon.idr, id); in v3d_perfmon_find()
303 idr_init_base(&v3d_priv->perfmon.idr, 1); in v3d_perfmon_open_file()
325 idr_for_each(&v3d_priv->perfmon.idr, v3d_perfmon_idr_del, v3d); in v3d_perfmon_close_file()
326 idr_destroy(&v3d_priv->perfmon.idr); in v3d_perfmon_close_file()
366 ret = idr_alloc(&v3d_priv->perfmon.idr, perfmon, V3D_PERFMONID_MIN, in v3d_perfmon_create_ioctl()
389 perfmon = idr_remove(&v3d_priv->perfmon.idr, req->id); in v3d_perfmon_destroy_ioctl()
413 perfmon = idr_find(&v3d_priv->perfmon.idr, req->id); in v3d_perfmon_get_values_ioctl()
/linux/tools/testing/shared/
A Dshared.mk8 SHARED_OFILES = xarray-shared.o radix-tree.o idr.o linux.o $(LIBS)
18 ../../../include/linux/idr.h \
46 idr.c: ../../../lib/idr.c
/linux/drivers/tee/optee/
A Dsupp.c27 idr_init(&supp->idr); in optee_supp_init()
35 idr_destroy(&supp->idr); in optee_supp_uninit()
47 idr_for_each_entry(&supp->idr, req, id) { in optee_supp_release()
48 idr_remove(&supp->idr, id); in optee_supp_release()
175 *id = idr_alloc(&supp->idr, req, 1, 0, GFP_KERNEL); in supp_pop_entry()
315 req = idr_find(&supp->idr, id); in supp_pop_req()
322 idr_remove(&supp->idr, id); in supp_pop_req()
/linux/drivers/gpu/drm/vmwgfx/
A Dttm_object.c97 struct idr idr; member
203 ret = idr_alloc(&tdev->idr, base, 1, 0, GFP_NOWAIT); in ttm_base_object_init()
219 idr_remove(&tdev->idr, base->handle); in ttm_base_object_init()
231 idr_remove(&tdev->idr, base->handle); in ttm_release_base()
281 base = idr_find(&tdev->idr, key); in ttm_base_object_lookup_for_ref()
440 idr_init_base(&tdev->idr, VMWGFX_NUM_MOB + 1); in ttm_object_device_init()
453 WARN_ON_ONCE(!idr_is_empty(&tdev->idr)); in ttm_object_device_release()
454 idr_destroy(&tdev->idr); in ttm_object_device_release()
A Dvmwgfx_resource.c105 struct idr *idr = &dev_priv->res_idr[res->func->res_type]; in vmw_resource_release_id() local
109 idr_remove(idr, res->id); in vmw_resource_release_id()
121 struct idr *idr = &dev_priv->res_idr[res->func->res_type]; in vmw_resource_release() local
164 idr_remove(idr, id); in vmw_resource_release()
189 struct idr *idr = &dev_priv->res_idr[res->func->res_type]; in vmw_resource_alloc_id() local
196 ret = idr_alloc(idr, res, 1, 0, GFP_NOWAIT); in vmw_resource_alloc_id()
/linux/drivers/infiniband/core/
A Drdma_core.c303 return xa_alloc(&uobj->ufile->idr, &uobj->id, NULL, xa_limit_32b, in idr_add_uobj()
325 uobj = xa_load(&ufile->idr, id); in lookup_get_idr_uobject()
446 xa_erase(&attrs->ufile->idr, uobj->id); in alloc_begin_idr_uobject()
528 xa_erase(&uobj->ufile->idr, uobj->id); in alloc_abort_idr_uobject()
554 xa_erase(&uobj->ufile->idr, uobj->id); in remove_handle_idr_uobject()
594 old = xa_store(&ufile->idr, uobj->id, uobj, GFP_KERNEL); in alloc_commit_idr_uobject()
608 old = xa_cmpxchg(&ufile->idr, obj_old->id, obj_old, XA_ZERO_ENTRY, in swap_idr_uobjects()
615 old = xa_cmpxchg(&ufile->idr, obj_old->id, NULL, obj_old, GFP_KERNEL); in swap_idr_uobjects()
768 xa_init_flags(&ufile->idr, XA_FLAGS_ALLOC); in setup_ufile_idr_uobject()
784 xa_for_each(&ufile->idr, id, entry) { in release_ufile_idr_uobject()
[all …]
/linux/Documentation/core-api/
A Didr.rst69 .. kernel-doc:: include/linux/idr.h
70 :doc: idr sync
75 .. kernel-doc:: lib/idr.c
81 .. kernel-doc:: include/linux/idr.h
83 .. kernel-doc:: lib/idr.c
/linux/drivers/tee/
A Dtee_shm.c138 id = idr_alloc(&teedev->idr, NULL, 1, 0, GFP_KERNEL); in tee_shm_alloc_user_buf()
146 idr_remove(&teedev->idr, id); in tee_shm_alloc_user_buf()
152 ret = idr_replace(&teedev->idr, shm, id); in tee_shm_alloc_user_buf()
381 id = idr_alloc(&teedev->idr, NULL, 1, 0, GFP_KERNEL); in tee_shm_register_user_buf()
390 idr_remove(&teedev->idr, id); in tee_shm_register_user_buf()
396 ret = idr_replace(&teedev->idr, shm, id); in tee_shm_register_user_buf()
542 shm = idr_find(&teedev->idr, id); in tee_shm_get_from_id()
575 idr_remove(&teedev->idr, shm->id); in tee_shm_put()
/linux/drivers/scsi/cxlflash/
A Docxl_hw.h39 struct idr idr; /* IDR to manage contexts */ member

Completed in 47 milliseconds

12345678