Home
last modified time | relevance | path

Searched full:array (Results 1 – 25 of 7063) sorted by relevance

12345678910>>...283

/kernel/linux/linux-5.10/drivers/misc/vmw_vmci/
Dvmci_handle_array.c19 struct vmci_handle_arr *array; in vmci_handle_arr_create() local
28 array = kmalloc(handle_arr_calc_size(capacity), GFP_ATOMIC); in vmci_handle_arr_create()
29 if (!array) in vmci_handle_arr_create()
32 array->capacity = capacity; in vmci_handle_arr_create()
33 array->max_capacity = max_capacity; in vmci_handle_arr_create()
34 array->size = 0; in vmci_handle_arr_create()
36 return array; in vmci_handle_arr_create()
39 void vmci_handle_arr_destroy(struct vmci_handle_arr *array) in vmci_handle_arr_destroy() argument
41 kfree(array); in vmci_handle_arr_destroy()
47 struct vmci_handle_arr *array = *array_ptr; in vmci_handle_arr_append_entry() local
[all …]
/kernel/linux/linux-6.6/drivers/misc/vmw_vmci/
Dvmci_handle_array.c19 struct vmci_handle_arr *array; in vmci_handle_arr_create() local
28 array = kmalloc(handle_arr_calc_size(capacity), GFP_ATOMIC); in vmci_handle_arr_create()
29 if (!array) in vmci_handle_arr_create()
32 array->capacity = capacity; in vmci_handle_arr_create()
33 array->max_capacity = max_capacity; in vmci_handle_arr_create()
34 array->size = 0; in vmci_handle_arr_create()
36 return array; in vmci_handle_arr_create()
39 void vmci_handle_arr_destroy(struct vmci_handle_arr *array) in vmci_handle_arr_destroy() argument
41 kfree(array); in vmci_handle_arr_destroy()
47 struct vmci_handle_arr *array = *array_ptr; in vmci_handle_arr_append_entry() local
[all …]
/kernel/linux/linux-5.10/drivers/dma-buf/
Ddma-fence-array.c3 * dma-fence-array: aggregate fences to be waited together
14 #include <linux/dma-fence-array.h>
28 static void dma_fence_array_set_pending_error(struct dma_fence_array *array, in dma_fence_array_set_pending_error() argument
36 cmpxchg(&array->base.error, PENDING_ERROR, error); in dma_fence_array_set_pending_error()
39 static void dma_fence_array_clear_pending_error(struct dma_fence_array *array) in dma_fence_array_clear_pending_error() argument
42 cmpxchg(&array->base.error, PENDING_ERROR, 0); in dma_fence_array_clear_pending_error()
47 struct dma_fence_array *array = container_of(wrk, typeof(*array), work); in irq_dma_fence_array_work() local
49 dma_fence_array_clear_pending_error(array); in irq_dma_fence_array_work()
51 dma_fence_signal(&array->base); in irq_dma_fence_array_work()
52 dma_fence_put(&array->base); in irq_dma_fence_array_work()
[all …]
/kernel/linux/linux-6.6/drivers/dma-buf/
Ddma-fence-array.c3 * dma-fence-array: aggregate fences to be waited together
14 #include <linux/dma-fence-array.h>
28 static void dma_fence_array_set_pending_error(struct dma_fence_array *array, in dma_fence_array_set_pending_error() argument
36 cmpxchg(&array->base.error, PENDING_ERROR, error); in dma_fence_array_set_pending_error()
39 static void dma_fence_array_clear_pending_error(struct dma_fence_array *array) in dma_fence_array_clear_pending_error() argument
42 cmpxchg(&array->base.error, PENDING_ERROR, 0); in dma_fence_array_clear_pending_error()
47 struct dma_fence_array *array = container_of(wrk, typeof(*array), work); in irq_dma_fence_array_work() local
49 dma_fence_array_clear_pending_error(array); in irq_dma_fence_array_work()
51 dma_fence_signal(&array->base); in irq_dma_fence_array_work()
52 dma_fence_put(&array->base); in irq_dma_fence_array_work()
[all …]
Ddma-fence-unwrap.c11 #include <linux/dma-fence-array.h>
17 /* Internal helper to start new array iteration, don't use directly */
21 cursor->array = dma_fence_chain_contained(cursor->chain); in __dma_fence_unwrap_array()
23 return dma_fence_array_first(cursor->array); in __dma_fence_unwrap_array()
54 tmp = dma_fence_array_next(cursor->array, cursor->index); in dma_fence_unwrap_next()
88 struct dma_fence *tmp, **array; in __dma_fence_unwrap_merge() local
114 array = kmalloc_array(count, sizeof(*array), GFP_KERNEL); in __dma_fence_unwrap_merge()
115 if (!array) in __dma_fence_unwrap_merge()
122 array[count++] = dma_fence_get(tmp); in __dma_fence_unwrap_merge()
135 sort(array, count, sizeof(*array), fence_cmp, NULL); in __dma_fence_unwrap_merge()
[all …]
/kernel/linux/linux-6.6/fs/xfs/scrub/
Dxfarray.c19 * This memory array uses an xfile (which itself is a memfd "file") to store
22 * because we don't have to pin so much memory. However, array access is less
23 * direct than would be in a regular memory array. Access to the array is
25 * provided for convenience. Array elements can be unset, which sets them to
34 * buffer array items when we need space to store values temporarily.
36 static inline void *xfarray_scratch(struct xfarray *array) in xfarray_scratch() argument
38 return (array + 1); in xfarray_scratch()
41 /* Compute array index given an xfile offset. */
44 struct xfarray *array, in xfarray_idx() argument
47 if (array->obj_size_log >= 0) in xfarray_idx()
[all …]
Dxfarray.h9 /* xfile array index type, along with cursor initialization */
13 /* Iterate each index of an xfile array. */
14 #define foreach_xfarray_idx(array, idx) \ argument
16 (idx) < xfarray_length(array); \
20 /* Underlying file that backs the array. */
23 /* Number of array elements. */
26 /* Maximum possible array size. */
29 /* Number of unset slots in the array below @nr. */
32 /* Size of an array element. */
35 /* log2 of array element size, if possible. */
[all …]
/kernel/linux/linux-6.6/sound/hda/
Darray.c11 * snd_array_new - get a new element from the given array
12 * @array: the array object
14 * Get a new element from the given array. If it exceeds the
15 * pre-allocated array size, re-allocate the array.
19 void *snd_array_new(struct snd_array *array) in snd_array_new() argument
21 if (snd_BUG_ON(!array->elem_size)) in snd_array_new()
23 if (array->used >= array->alloced) { in snd_array_new()
24 int num = array->alloced + array->alloc_align; in snd_array_new()
25 int oldsize = array->alloced * array->elem_size; in snd_array_new()
26 int size = (num + 1) * array->elem_size; in snd_array_new()
[all …]
/kernel/linux/linux-5.10/sound/hda/
Darray.c11 * snd_array_new - get a new element from the given array
12 * @array: the array object
14 * Get a new element from the given array. If it exceeds the
15 * pre-allocated array size, re-allocate the array.
19 void *snd_array_new(struct snd_array *array) in snd_array_new() argument
21 if (snd_BUG_ON(!array->elem_size)) in snd_array_new()
23 if (array->used >= array->alloced) { in snd_array_new()
24 int num = array->alloced + array->alloc_align; in snd_array_new()
25 int oldsize = array->alloced * array->elem_size; in snd_array_new()
26 int size = (num + 1) * array->elem_size; in snd_array_new()
[all …]
/kernel/linux/linux-6.6/drivers/md/persistent-data/
Ddm-array.h15 * The dm-array is a persistent version of an array. It packs the data
26 * size along with the array root in your encompassing data.
28 * Array entries are indexed via an unsigned integer starting from zero.
29 * Arrays are not sparse; if you resize an array to have 'n' entries then
34 * a) initialise a dm_array_info structure. This describes the array
40 * disk that holds a particular instance of an array. You may have a
42 * want to create a brand new, empty array with dm_array_empty().
46 * root for a _new_ array. If you've incremented the old root, via
50 * c) resize an array with dm_array_resize().
52 * d) Get a value from the array with dm_array_get_value().
[all …]
/kernel/linux/linux-5.10/drivers/md/persistent-data/
Ddm-array.h14 * The dm-array is a persistent version of an array. It packs the data
25 * size along with the array root in your encompassing data.
27 * Array entries are indexed via an unsigned integer starting from zero.
28 * Arrays are not sparse; if you resize an array to have 'n' entries then
33 * a) initialise a dm_array_info structure. This describes the array
39 * disk that holds a particular instance of an array. You may have a
41 * want to create a brand new, empty array with dm_array_empty().
45 * root for a _new_ array. If you've incremented the old root, via
49 * c) resize an array with dm_array_resize().
51 * d) Get a value from the array with dm_array_get_value().
[all …]
/kernel/linux/linux-6.6/kernel/bpf/
Darraymap.c22 static void bpf_array_free_percpu(struct bpf_array *array) in bpf_array_free_percpu() argument
26 for (i = 0; i < array->map.max_entries; i++) { in bpf_array_free_percpu()
27 free_percpu(array->pptrs[i]); in bpf_array_free_percpu()
32 static int bpf_array_alloc_percpu(struct bpf_array *array) in bpf_array_alloc_percpu() argument
37 for (i = 0; i < array->map.max_entries; i++) { in bpf_array_alloc_percpu()
38 ptr = bpf_map_alloc_percpu(&array->map, array->elem_size, 8, in bpf_array_alloc_percpu()
41 bpf_array_free_percpu(array); in bpf_array_alloc_percpu()
44 array->pptrs[i] = ptr; in bpf_array_alloc_percpu()
90 struct bpf_array *array; in array_map_alloc() local
106 /* round up array size to nearest power of 2, in array_map_alloc()
[all …]
Dreuseport_array.c52 struct reuseport_array *array = reuseport_array(map); in reuseport_array_lookup_elem() local
55 if (unlikely(index >= array->map.max_entries)) in reuseport_array_lookup_elem()
58 return rcu_dereference(array->ptrs[index]); in reuseport_array_lookup_elem()
64 struct reuseport_array *array = reuseport_array(map); in reuseport_array_delete_elem() local
72 if (!rcu_access_pointer(array->ptrs[index])) in reuseport_array_delete_elem()
77 sk = rcu_dereference_protected(array->ptrs[index], in reuseport_array_delete_elem()
82 RCU_INIT_POINTER(array->ptrs[index], NULL); in reuseport_array_delete_elem()
96 struct reuseport_array *array = reuseport_array(map); in reuseport_array_free() local
102 * array now. Hence, this function only races with in reuseport_array_free()
107 * both removing sk from "array". Who removes it in reuseport_array_free()
[all …]
/kernel/linux/linux-6.6/Documentation/admin-guide/
Dmd.rst22 or, to assemble a partitionable array::
44 level of the RAID array
92 If a raid5 or raid6 array is both dirty and degraded, it could have
98 For this reason, md will normally refuse to start such an array. This
99 requires the sysadmin to take action to explicitly start the array
104 This option is not really available if the array has the root
106 array, md supports a module parameter ``start_dirty_degraded`` which,
131 An array is ``created`` by writing appropriate superblocks to all
138 An array should be created by a user-space tool. This will write
139 superblocks to all devices. It will usually mark the array as
[all …]
/kernel/linux/linux-5.10/Documentation/admin-guide/
Dmd.rst22 or, to assemble a partitionable array::
44 level of the RAID array
92 If a raid5 or raid6 array is both dirty and degraded, it could have
98 For this reason, md will normally refuse to start such an array. This
99 requires the sysadmin to take action to explicitly start the array
104 This option is not really available if the array has the root
106 array, md supports a module parameter ``start_dirty_degraded`` which,
131 An array is ``created`` by writing appropriate superblocks to all
138 An array should be created by a user-space tool. This will write
139 superblocks to all devices. It will usually mark the array as
[all …]
/kernel/linux/linux-5.10/kernel/bpf/
Darraymap.c21 static void bpf_array_free_percpu(struct bpf_array *array) in bpf_array_free_percpu() argument
25 for (i = 0; i < array->map.max_entries; i++) { in bpf_array_free_percpu()
26 free_percpu(array->pptrs[i]); in bpf_array_free_percpu()
31 static int bpf_array_alloc_percpu(struct bpf_array *array) in bpf_array_alloc_percpu() argument
36 for (i = 0; i < array->map.max_entries; i++) { in bpf_array_alloc_percpu()
37 ptr = __alloc_percpu_gfp(array->elem_size, 8, in bpf_array_alloc_percpu()
40 bpf_array_free_percpu(array); in bpf_array_alloc_percpu()
43 array->pptrs[i] = ptr; in bpf_array_alloc_percpu()
89 struct bpf_array *array; in array_map_alloc() local
105 /* round up array size to nearest power of 2, in array_map_alloc()
[all …]
Dreuseport_array.c54 struct reuseport_array *array = reuseport_array(map); in reuseport_array_lookup_elem() local
57 if (unlikely(index >= array->map.max_entries)) in reuseport_array_lookup_elem()
60 return rcu_dereference(array->ptrs[index]); in reuseport_array_lookup_elem()
66 struct reuseport_array *array = reuseport_array(map); in reuseport_array_delete_elem() local
74 if (!rcu_access_pointer(array->ptrs[index])) in reuseport_array_delete_elem()
79 sk = rcu_dereference_protected(array->ptrs[index], in reuseport_array_delete_elem()
84 RCU_INIT_POINTER(array->ptrs[index], NULL); in reuseport_array_delete_elem()
98 struct reuseport_array *array = reuseport_array(map); in reuseport_array_free() local
104 * array now. Hence, this function only races with in reuseport_array_free()
109 * both removing sk from "array". Who removes it in reuseport_array_free()
[all …]
/kernel/linux/linux-6.6/drivers/accel/habanalabs/common/
Dsecurity.c24 * hl_get_pb_block - return the relevant block within the block array
28 * @pb_blocks: blocks array
29 * @array_size: blocks array size
56 * @sgs_entry: pb array
82 * @pb_blocks: blocks array
83 * @sgs_array: pb array
84 * @array_size: blocks array size
111 * @pb_blocks: blocks array
112 * @sgs_array: pb array
113 * @array_size: blocks array size
[all …]
/kernel/linux/linux-6.6/kernel/
Dstacktrace.c20 * @entries: Pointer to storage array
21 * @nr_entries: Number of entries in the storage array
41 * @entries: Pointer to storage array
42 * @nr_entries: Number of entries in the storage array
105 * stack_trace_save - Save a stack trace into a storage array
106 * @store: Pointer to storage array
107 * @size: Size of the storage array
128 * stack_trace_save_tsk - Save a task stack trace into a storage array
130 * @store: Pointer to storage array
131 * @size: Size of the storage array
[all …]
/kernel/linux/linux-5.10/Documentation/core-api/
Dassoc_array.rst2 Generic Associative Array Implementation
8 This associative array implementation is an object container with the following
18 2. Objects do not need to contain linkage blocks for use by the array. This
20 Rather, the array is made up of metadata blocks that point to objects.
22 3. Objects require index keys to locate them within the array.
25 already in the array will replace the old object.
32 7. Index keys can include a hash to scatter objects throughout the array.
34 8. The array can iterated over. The objects will not necessarily come out in
37 9. The array can be iterated over while it is being modified, provided the
43 10. Objects in the array can be looked up by means of their index key.
[all …]
/kernel/linux/linux-6.6/Documentation/core-api/
Dassoc_array.rst2 Generic Associative Array Implementation
8 This associative array implementation is an object container with the following
18 2. Objects do not need to contain linkage blocks for use by the array. This
20 Rather, the array is made up of metadata blocks that point to objects.
22 3. Objects require index keys to locate them within the array.
25 already in the array will replace the old object.
32 7. Index keys can include a hash to scatter objects throughout the array.
34 8. The array can iterated over. The objects will not necessarily come out in
37 9. The array can be iterated over while it is being modified, provided the
43 10. Objects in the array can be looked up by means of their index key.
[all …]
/kernel/linux/linux-5.10/kernel/
Dstacktrace.c19 * @entries: Pointer to storage array
20 * @nr_entries: Number of entries in the storage array
40 * @entries: Pointer to storage array
41 * @nr_entries: Number of entries in the storage array
104 * stack_trace_save - Save a stack trace into a storage array
105 * @store: Pointer to storage array
106 * @size: Size of the storage array
127 * stack_trace_save_tsk - Save a task stack trace into a storage array
129 * @store: Pointer to storage array
130 * @size: Size of the storage array
[all …]
/kernel/linux/linux-5.10/Documentation/RCU/
DarrayRCU.rst16 array that is separately indexed. It might be tempting to consider use
17 of RCU to instead protect the index into an array, however, this use
34 Hash tables are often implemented as an array, where each array entry
37 to other array-of-list situations, such as radix trees.
45 located in each array element, and where the array is never resized,
61 function formerly used by the System V IPC code. The array is used
70 the new array, and invokes ipc_rcu_putref() to free up the old array.
102 * contents of the new array are visible before the new
103 * array becomes visible.
111 The ipc_rcu_putref() function decrements the array's reference count
[all …]
/kernel/linux/linux-5.10/drivers/infiniband/hw/mthca/
Dmthca_allocator.c111 * Array of pointers with lazy allocation of leaf pages. Callers of
113 * serialize access to the array.
118 void *mthca_array_get(struct mthca_array *array, int index) in mthca_array_get() argument
122 if (array->page_list[p].page) in mthca_array_get()
123 return array->page_list[p].page[index & MTHCA_ARRAY_MASK]; in mthca_array_get()
128 int mthca_array_set(struct mthca_array *array, int index, void *value) in mthca_array_set() argument
133 if (!array->page_list[p].page) in mthca_array_set()
134 array->page_list[p].page = (void **) get_zeroed_page(GFP_ATOMIC); in mthca_array_set()
136 if (!array->page_list[p].page) in mthca_array_set()
139 array->page_list[p].page[index & MTHCA_ARRAY_MASK] = value; in mthca_array_set()
[all …]
/kernel/linux/linux-6.6/drivers/infiniband/hw/mthca/
Dmthca_allocator.c106 * Array of pointers with lazy allocation of leaf pages. Callers of
108 * serialize access to the array.
113 void *mthca_array_get(struct mthca_array *array, int index) in mthca_array_get() argument
117 if (array->page_list[p].page) in mthca_array_get()
118 return array->page_list[p].page[index & MTHCA_ARRAY_MASK]; in mthca_array_get()
123 int mthca_array_set(struct mthca_array *array, int index, void *value) in mthca_array_set() argument
128 if (!array->page_list[p].page) in mthca_array_set()
129 array->page_list[p].page = (void **) get_zeroed_page(GFP_ATOMIC); in mthca_array_set()
131 if (!array->page_list[p].page) in mthca_array_set()
134 array->page_list[p].page[index & MTHCA_ARRAY_MASK] = value; in mthca_array_set()
[all …]

12345678910>>...283