| /linux/lib/ |
| H A D | test_xarray.c | 20 void xa_dump(const struct xarray *xa) { } in xa_dump() argument 23 #define XA_BUG_ON(xa, x) do { \ argument 27 xa_dump(xa); \ 40 static void *xa_store_index(struct xarray *xa, unsigned long index, gfp_t gfp) in xa_store_index() argument 42 return xa_store(xa, index, xa_mk_index(index), gfp); in xa_store_index() 45 static void xa_insert_index(struct xarray *xa, unsigned long index) in xa_insert_index() argument 47 XA_BUG_ON(xa, xa_insert(xa, index, xa_mk_index(index), in xa_insert_index() 51 static void xa_alloc_index(struct xarray *xa, unsigned long index, gfp_t gfp) in xa_alloc_index() argument 55 XA_BUG_ON(xa, xa_alloc(xa, &id, xa_mk_index(index), xa_limit_32b, in xa_alloc_index() 57 XA_BUG_ON(xa, id != index); in xa_alloc_index() [all …]
|
| H A D | xarray.c | 33 static inline unsigned int xa_lock_type(const struct xarray *xa) in xa_lock_type() argument 35 return (__force unsigned int)xa->xa_flags & 3; in xa_lock_type() 58 static inline bool xa_track_free(const struct xarray *xa) in xa_track_free() argument 60 return xa->xa_flags & XA_FLAGS_TRACK_FREE; in xa_track_free() 63 static inline bool xa_zero_busy(const struct xarray *xa) in xa_zero_busy() argument 65 return xa->xa_flags & XA_FLAGS_ZERO_BUSY; in xa_zero_busy() 68 static inline void xa_mark_set(struct xarray *xa, xa_mark_t mark) in xa_mark_set() argument 70 if (!(xa->xa_flags & XA_FLAGS_MARK(mark))) in xa_mark_set() 71 xa->xa_flags |= XA_FLAGS_MARK(mark); in xa_mark_set() 74 static inline void xa_mark_clear(struct xarray *xa, xa_mark_t mark) in xa_mark_clear() argument [all …]
|
| H A D | idr.c | 385 XA_STATE(xas, &ida->xa, min / IDA_BITMAP_BITS); in ida_alloc_range() 508 xa_lock_irqsave(&ida->xa, flags); in ida_find_first_range() 510 entry = xa_find(&ida->xa, &index, max / IDA_BITMAP_BITS, XA_PRESENT); in ida_find_first_range() 534 xa_unlock_irqrestore(&ida->xa, flags); in ida_find_first_range() 543 xa_unlock_irqrestore(&ida->xa, flags); in ida_find_first_range() 558 XA_STATE(xas, &ida->xa, id / IDA_BITMAP_BITS); in ida_free() 612 XA_STATE(xas, &ida->xa, 0); in ida_destroy() 663 struct xarray *xa = &ida->xa; in ida_dump() local 664 pr_debug("ida: %p node %p free %d\n", ida, xa->xa_head, in ida_dump() 665 xa->xa_flags >> ROOT_TAG_SHIFT); in ida_dump() [all …]
|
| /linux/include/linux/ |
| H A D | xarray.h | 363 void *xa_find(struct xarray *xa, unsigned long *index, 365 void *xa_find_after(struct xarray *xa, unsigned long *index, 382 static inline void xa_init_flags(struct xarray *xa, gfp_t flags) in xa_init_flags() argument 384 spin_lock_init(&xa->xa_lock); in xa_init_flags() 385 xa->xa_flags = flags; in xa_init_flags() 386 xa->xa_head = NULL; in xa_init_flags() 397 static inline void xa_init(struct xarray *xa) in xa_init() argument 399 xa_init_flags(xa, 0); in xa_init() 409 static inline bool xa_empty(const struct xarray *xa) in xa_empty() argument 411 return xa->xa_head == NULL; in xa_empty() [all …]
|
| H A D | idr.h | 264 struct xarray xa; member 270 .xa = XARRAY_INIT(name, IDA_INIT_FLAGS) \ 334 xa_init_flags(&ida->xa, IDA_INIT_FLAGS); in ida_init() 339 return xa_empty(&ida->xa); in ida_is_empty()
|
| /linux/rust/kernel/ |
| H A D | xarray.rs | 58 xa: Opaque<bindings::xarray>, field 75 unsafe { bindings::xa_destroy(self.xa.get()) }; in drop() 98 xa <- Opaque::ffi_init(|xa| unsafe { in new() 99 bindings::xa_init_flags(xa, flags) in new() 110 bindings::xa_find(self.xa.get(), &mut index, usize::MAX, bindings::XA_PRESENT) in iter() 115 bindings::xa_find_after(self.xa.get(), &mut index, usize::MAX, bindings::XA_PRESENT) in iter() 124 if (unsafe { bindings::xa_trylock(self.xa.get()) } != 0) { in try_lock() 126 xa: self, in try_lock() 137 unsafe { bindings::xa_lock(self.xa.get()) }; in lock() 140 xa: self, in lock() [all …]
|
| /linux/rust/helpers/ |
| H A D | xarray.c | 10 void rust_helper_xa_init_flags(struct xarray *xa, gfp_t flags) in rust_helper_xa_init_flags() argument 12 return xa_init_flags(xa, flags); in rust_helper_xa_init_flags() 15 int rust_helper_xa_trylock(struct xarray *xa) in rust_helper_xa_trylock() argument 17 return xa_trylock(xa); in rust_helper_xa_trylock() 20 void rust_helper_xa_lock(struct xarray *xa) in rust_helper_xa_lock() argument 22 return xa_lock(xa); in rust_helper_xa_lock() 25 void rust_helper_xa_unlock(struct xarray *xa) in rust_helper_xa_unlock() argument 27 return xa_unlock(xa); in rust_helper_xa_unlock()
|
| /linux/drivers/infiniband/core/ |
| H A D | restrack.c | 35 xa_init_flags(&rt[i].xa, XA_FLAGS_ALLOC); in rdma_restrack_init() 50 struct xarray *xa = &dev->res[i].xa; in rdma_restrack_clean() local 52 WARN_ON(!xa_empty(xa)); in rdma_restrack_clean() 53 xa_destroy(xa); in rdma_restrack_clean() 69 XA_STATE(xas, &rt->xa, 0); in rdma_restrack_count() 72 xa_lock(&rt->xa); in rdma_restrack_count() 74 if (xa_get_mark(&rt->xa, e->id, RESTRACK_DD) && !show_details) in rdma_restrack_count() 78 xa_unlock(&rt->xa); in rdma_restrack_count() 205 ret = xa_insert(&rt->xa, res->id, res, GFP_KERNEL); in rdma_restrack_add() 210 xa_set_mark(&rt->xa, res->id, RESTRACK_DD); in rdma_restrack_add() [all …]
|
| /linux/include/trace/events/ |
| H A D | xdp.h | 306 TP_PROTO(const struct xdp_mem_allocator *xa), 308 TP_ARGS(xa), 311 __field(const struct xdp_mem_allocator *, xa) 318 __entry->xa = xa; 319 __entry->mem_id = xa->mem.id; 320 __entry->mem_type = xa->mem.type; 321 __entry->allocator = xa->allocator; 333 TP_PROTO(const struct xdp_mem_allocator *xa, 336 TP_ARGS(xa, rxq), 339 __field(const struct xdp_mem_allocator *, xa) [all …]
|
| /linux/tools/testing/radix-tree/ |
| H A D | iteration_check_2.c | 35 struct xarray *xa = arg; in throbber() local 43 xa_store(xa, i, xa_mk_value(i), GFP_KERNEL); in throbber() 44 xa_set_mark(xa, i, XA_MARK_0); in throbber() 47 xa_erase(xa, i); in throbber()
|
| H A D | test.c | 79 int item_delete_rcu(struct xarray *xa, unsigned long index) in item_delete_rcu() argument 81 struct item *item = xa_erase(xa, index); in item_delete_rcu() 173 int tag_tagged_items(struct xarray *xa, unsigned long start, unsigned long end, in tag_tagged_items() argument 176 XA_STATE(xas, xa, start); in tag_tagged_items() 255 void item_kill_tree(struct xarray *xa) in item_kill_tree() argument 257 XA_STATE(xas, xa, 0); in item_kill_tree() 267 assert(xa_empty(xa)); in item_kill_tree()
|
| H A D | iteration_check.c | 21 void my_item_insert(struct xarray *xa, unsigned long index) in my_item_insert() argument 23 XA_STATE(xas, xa, index); in my_item_insert()
|
| /linux/fs/xfs/libxfs/ |
| H A D | xfs_group.c | 40 xg = xa_load(&mp->m_groups[type].xa, index); in xfs_group_get() 81 xg = xa_load(&mp->m_groups[type].xa, index); in xfs_group_grab() 135 xg = xa_find(&mp->m_groups[type].xa, &index, ULONG_MAX, mark); in xfs_group_grab_next_mark() 160 struct xfs_group *xg = xa_erase(&mp->m_groups[type].xa, index); in xfs_group_free() 207 error = xa_insert(&mp->m_groups[type].xa, index, xg, GFP_KERNEL); in xfs_group_insert()
|
| /linux/arch/arm64/boot/dts/qcom/ |
| H A D | pmr735d_a.dtsi | 37 reg = <0xa SPMI_USID>; 44 interrupts = <0xa 0xa 0x0 IRQ_TYPE_EDGE_BOTH>;
|
| H A D | hamoa-pmics.dtsi | 292 interrupts = <0x1 0xa 0x0 IRQ_TYPE_EDGE_BOTH>; 330 interrupts = <0x2 0xa 0x0 IRQ_TYPE_EDGE_BOTH>; 355 interrupts = <0x3 0xa 0x0 IRQ_TYPE_EDGE_BOTH>; 379 interrupts = <0x4 0xa 0x0 IRQ_TYPE_EDGE_BOTH>; 403 interrupts = <0x5 0xa 0x0 IRQ_TYPE_EDGE_BOTH>; 427 interrupts = <0x6 0xa 0x0 IRQ_TYPE_EDGE_BOTH>; 452 interrupts = <0x8 0xa 0x0 IRQ_TYPE_EDGE_BOTH>; 477 interrupts = <0x9 0xa 0x0 IRQ_TYPE_EDGE_BOTH>; 527 reg = <0xa SPMI_USID>;
|
| H A D | pm8550vs.dtsi | 104 interrupts = <0x2 0xa 0x0 IRQ_TYPE_EDGE_BOTH>; 128 interrupts = <0x3 0xa 0x0 IRQ_TYPE_EDGE_BOTH>; 152 interrupts = <0x4 0xa 0x0 IRQ_TYPE_EDGE_BOTH>; 176 interrupts = <0x6 0xa 0x0 IRQ_TYPE_EDGE_BOTH>;
|
| H A D | lemans-pmics.dtsi | 111 interrupts-extended = <&spmi_bus 0x0 0xa 0x0 IRQ_TYPE_EDGE_BOTH>; 177 interrupts-extended = <&spmi_bus 0x2 0xa 0x0 IRQ_TYPE_EDGE_BOTH>; 201 interrupts-extended = <&spmi_bus 0x4 0xa 0x0 IRQ_TYPE_EDGE_BOTH>; 225 interrupts-extended = <&spmi_bus 0x6 0xa 0x0 IRQ_TYPE_EDGE_BOTH>;
|
| H A D | sc8280xp-pmics.dtsi | 201 interrupts-extended = <&spmi_bus 0x1 0xa 0x0 IRQ_TYPE_EDGE_BOTH>; 227 interrupts-extended = <&spmi_bus 0x2 0xa 0x0 IRQ_TYPE_EDGE_BOTH>; 262 interrupts-extended = <&spmi_bus 0x3 0xa 0x0 IRQ_TYPE_EDGE_BOTH>; 288 interrupts-extended = <&spmi_bus 0x4 0xa 0x0 IRQ_TYPE_EDGE_BOTH>;
|
| /linux/io_uring/ |
| H A D | tctx.c | 57 xa_for_each(&tctx->xa, index, node) { in __io_uring_free() 94 xa_init(&tctx->xa); in io_uring_alloc_task_context() 125 if (!xa_load(&tctx->xa, (unsigned long)ctx)) { in __io_uring_add_tctx_node() 132 ret = xa_err(xa_store(&tctx->xa, (unsigned long)ctx, in __io_uring_add_tctx_node() 172 node = xa_erase(&tctx->xa, index); in io_uring_del_tctx_node() 194 xa_for_each(&tctx->xa, index, node) { in io_uring_clean_tctx()
|
| /linux/arch/powerpc/boot/dts/fsl/ |
| H A D | p2020ds.dtsi | 221 0x8800 0x0 0x0 0x2 &i8259 0xa 0x2 225 0x8900 0x0 0x0 0x2 &i8259 0xa 0x2 229 0x8a00 0x0 0x0 0x2 &i8259 0xa 0x2 233 0x8b00 0x0 0x0 0x2 &i8259 0xa 0x2 237 0x8c00 0x0 0x0 0x2 &i8259 0xa 0x2 241 0x8d00 0x0 0x0 0x2 &i8259 0xa 0x2 245 0x8e00 0x0 0x0 0x2 &i8259 0xa 0x2 249 0x8f00 0x0 0x0 0x2 &i8259 0xa 0x2
|
| /linux/drivers/cxl/core/ |
| H A D | cdat.c | 390 static void discard_dsmas(struct xarray *xa) in discard_dsmas() argument 395 xa_for_each(xa, index, ent) { in discard_dsmas() 396 xa_erase(xa, index); in discard_dsmas() 399 xa_destroy(xa); in discard_dsmas() 723 static void free_perf_xa(struct xarray *xa) in free_perf_xa() argument 728 if (!xa) in free_perf_xa() 731 xa_for_each(xa, index, ctx) in free_perf_xa() 733 xa_destroy(xa); in free_perf_xa() 734 kfree(xa); in free_perf_xa() 862 static struct xarray *cxl_rp_gather_bandwidth(struct xarray *xa) in cxl_rp_gather_bandwidth() argument [all …]
|
| /linux/drivers/infiniband/hw/hns/ |
| H A D | hns_roce_srq.c | 17 xa_lock(&srq_table->xa); in hns_roce_srq_event() 18 srq = xa_load(&srq_table->xa, srqn & (hr_dev->caps.num_srqs - 1)); in hns_roce_srq_event() 21 xa_unlock(&srq_table->xa); in hns_roce_srq_event() 125 ret = xa_err(xa_store_irq(&srq_table->xa, srq->srqn, srq, GFP_KERNEL)); in alloc_srqc() 138 xa_erase_irq(&srq_table->xa, srq->srqn); in alloc_srqc() 156 xa_erase_irq(&srq_table->xa, srq->srqn); in free_srqc() 544 xa_init(&srq_table->xa); in hns_roce_init_srq_table()
|
| /linux/drivers/crypto/intel/qat/qat_common/ |
| H A D | qat_asym_algs.c | 85 dma_addr_t xa; member 89 dma_addr_t xa; member 105 char *xa; member 233 if (unlikely(!ctx->xa)) in qat_dh_compute_value() 265 qat_req->in.dh.in.xa = ctx->dma_xa; in qat_dh_compute_value() 270 qat_req->in.dh.in_g2.xa = ctx->dma_xa; in qat_dh_compute_value() 275 qat_req->in.dh.in.xa = ctx->dma_xa; in qat_dh_compute_value() 461 if (ctx->xa) { in qat_dh_clear_ctx() 462 memset(ctx->xa, 0, ctx->p_size); in qat_dh_clear_ctx() 463 dma_free_coherent(dev, ctx->p_size, ctx->xa, ctx->dma_xa); in qat_dh_clear_ctx() [all …]
|
| /linux/fs/cachefiles/ |
| H A D | daemon.c | 139 struct xarray *xa = &cache->reqs; in cachefiles_flush_reqs() local 159 xa_lock(xa); in cachefiles_flush_reqs() 160 xa_for_each(xa, index, req) { in cachefiles_flush_reqs() 163 __xa_erase(xa, index); in cachefiles_flush_reqs() 165 xa_unlock(xa); in cachefiles_flush_reqs()
|
| /linux/arch/powerpc/boot/dts/ |
| H A D | mvme5100.dts | 132 0x8000 0x0 0x0 0x2 &mpic 0xa 0x1 139 0x8800 0x0 0x0 0x3 &mpic 0xa 0x1 149 0xa000 0x0 0x0 0x2 &mpic 0xa 0x1
|