Home
last modified time | relevance | path

Searched full:heap (Results 1 – 25 of 189) sorted by relevance

12345678

/linux/fs/ubifs/
H A Dlprops.c22 * get_heap_comp_val - get the LEB properties value for heap comparisons.
39 * move_up_lpt_heap - move a new heap entry up as far as possible.
41 * @heap: LEB category heap
45 * New entries to a heap are added at the bottom and then moved up until the
50 static void move_up_lpt_heap(struct ubifs_info *c, struct ubifs_lpt_heap *heap, in move_up_lpt_heap() argument
57 return; /* Already top of the heap */ in move_up_lpt_heap()
59 /* Compare to parent and, if greater, move up the heap */ in move_up_lpt_heap()
63 val2 = get_heap_comp_val(heap->arr[ppos], cat); in move_up_lpt_heap()
67 heap->arr[ppos]->hpos = hpos; in move_up_lpt_heap()
68 heap->arr[hpos] = heap->arr[ppos]; in move_up_lpt_heap()
[all …]
H A Dfind.c45 struct ubifs_lpt_heap *heap; in valuable() local
51 heap = &c->lpt_heap[cat - 1]; in valuable()
52 if (heap->cnt < heap->max_cnt) in valuable()
130 struct ubifs_lpt_heap *heap; in scan_for_dirty() local
134 /* There may be an LEB with enough dirty space on the free heap */ in scan_for_dirty()
135 heap = &c->lpt_heap[LPROPS_FREE - 1]; in scan_for_dirty()
136 for (i = 0; i < heap->cnt; i++) { in scan_for_dirty()
137 lprops = heap->arr[i]; in scan_for_dirty()
145 * A LEB may have fallen off of the bottom of the dirty heap, and ended in scan_for_dirty()
199 * dirty index heap, and it falls-back to LPT scanning if the heaps are empty
[all …]
/linux/include/linux/
H A Ddma-heap.h17 * struct dma_heap_ops - ops to operate on a given heap
23 struct dma_buf *(*allocate)(struct dma_heap *heap,
30 * struct dma_heap_export_info - information needed to export a new dmabuf heap
32 * @ops: ops struct for this heap
33 * @priv: heap exporter private data
35 * Information needed to export a new dmabuf heap.
43 void *dma_heap_get_drvdata(struct dma_heap *heap);
45 const char *dma_heap_get_name(struct dma_heap *heap);
H A Dkfence.h41 * with regular heap objects (e.g. KFENCE objects must never be added to the
42 * allocator freelists). Failing to do so may and will result in heap
113 * kfence_alloc() should be inserted into the heap allocation fast path,
134 * @addr: pointer to a heap object
161 * __kfence_free() - release a KFENCE heap object to KFENCE pool
171 * kfence_free() - try to release an arbitrary heap object to KFENCE pool
/linux/drivers/gpu/drm/nouveau/nvkm/subdev/mmu/
H A Dbase.c255 nvkm_mmu_type(struct nvkm_mmu *mmu, int heap, u8 type) in nvkm_mmu_type() argument
257 if (heap >= 0 && !WARN_ON(mmu->type_nr == ARRAY_SIZE(mmu->type))) { in nvkm_mmu_type()
258 mmu->type[mmu->type_nr].type = type | mmu->heap[heap].type; in nvkm_mmu_type()
259 mmu->type[mmu->type_nr].heap = heap; in nvkm_mmu_type()
268 if (!WARN_ON(mmu->heap_nr == ARRAY_SIZE(mmu->heap))) { in nvkm_mmu_heap()
269 mmu->heap[mmu->heap_nr].type = type; in nvkm_mmu_heap()
270 mmu->heap[mmu->heap_nr].size = size; in nvkm_mmu_heap()
282 int heap; in nvkm_mmu_host() local
285 heap = nvkm_mmu_heap(mmu, NVKM_MEM_HOST, ~0ULL); in nvkm_mmu_host()
286 nvkm_mmu_type(mmu, heap, type); in nvkm_mmu_host()
[all …]
/linux/drivers/gpu/drm/nouveau/include/nvkm/core/
H A Dmm.h12 u8 heap; member
34 int nvkm_mm_init(struct nvkm_mm *, u8 heap, u32 offset, u32 length, u32 block);
36 int nvkm_mm_head(struct nvkm_mm *, u8 heap, u8 type, u32 size_max,
38 int nvkm_mm_tail(struct nvkm_mm *, u8 heap, u8 type, u32 size_max,
44 nvkm_mm_heap_size(struct nvkm_mm *mm, u8 heap) in nvkm_mm_heap_size() argument
49 if (node->heap == heap) in nvkm_mm_heap_size()
/linux/drivers/gpu/drm/nouveau/nvkm/core/
H A Dmm.c99 b->heap = a->heap; in region_head()
111 nvkm_mm_head(struct nvkm_mm *mm, u8 heap, u8 type, u32 size_max, u32 size_min, in nvkm_mm_head() argument
122 if (unlikely(heap != NVKM_MM_HEAP_ANY)) { in nvkm_mm_head()
123 if (this->heap != heap) in nvkm_mm_head()
175 b->heap = a->heap; in region_tail()
186 nvkm_mm_tail(struct nvkm_mm *mm, u8 heap, u8 type, u32 size_max, u32 size_min, in nvkm_mm_tail() argument
198 if (unlikely(heap != NVKM_MM_HEAP_ANY)) { in nvkm_mm_tail()
199 if (this->heap != heap) in nvkm_mm_tail()
240 nvkm_mm_init(struct nvkm_mm *mm, u8 heap, u32 offset, u32 length, u32 block) in nvkm_mm_init() argument
277 node->heap = heap; in nvkm_mm_init()
H A Dgpuobj.c180 ret = nvkm_mm_head(&parent->heap, 0, 1, size, size, in nvkm_gpuobj_ctor()
183 ret = nvkm_mm_tail(&parent->heap, 0, 1, size, size, in nvkm_gpuobj_ctor()
211 return nvkm_mm_init(&gpuobj->heap, 0, 0, gpuobj->size, 1); in nvkm_gpuobj_ctor()
220 nvkm_mm_free(&gpuobj->parent->heap, &gpuobj->node); in nvkm_gpuobj_del()
221 nvkm_mm_fini(&gpuobj->heap); in nvkm_gpuobj_del()
/linux/tools/include/nolibc/
H A Dstdlib.h94 struct nolibc_heap *heap; in free() local
99 heap = container_of(ptr, struct nolibc_heap, user_p); in free()
100 munmap(heap, heap->len); in free()
129 struct nolibc_heap *heap; in malloc() local
132 len = sizeof(*heap) + len; in malloc()
134 heap = mmap(NULL, len, PROT_READ|PROT_WRITE, MAP_ANONYMOUS|MAP_PRIVATE, in malloc()
136 if (__builtin_expect(heap == MAP_FAILED, 0)) in malloc()
139 heap->len = len; in malloc()
140 return heap->user_p; in malloc()
154 * No need to zero the heap, the MAP_ANONYMOUS in malloc() in calloc()
[all …]
/linux/drivers/gpu/drm/nouveau/nvif/
H A Dmmu.c35 kfree(mmu->heap); in nvif_mmu_dtor()
53 mmu->heap = NULL; in nvif_mmu_ctor()
72 mmu->heap = kmalloc_array(mmu->heap_nr, sizeof(*mmu->heap), in nvif_mmu_ctor()
76 if (ret = -ENOMEM, !mmu->heap || !mmu->type) in nvif_mmu_ctor()
92 mmu->heap[i].size = args.size; in nvif_mmu_ctor()
112 mmu->type[i].heap = args.heap; in nvif_mmu_ctor()
/linux/arch/powerpc/include/asm/
H A Drheap.h4 * Header file for the implementation of a remote heap.
49 /* Create a remote heap dynamically */
52 /* Destroy a remote heap, created by rh_create() */
65 /* Allocate the given size from the remote heap (with alignment) */
69 /* Allocate the given size from the remote heap */
83 /* Simple dump of remote heap info */
/linux/tools/perf/util/
H A Dpowerpc-vpadtl.c25 struct auxtrace_heap heap; member
362 * of perf record with timestamp of top element in the auxtrace heap.
363 * Process the auxtrace queue if the timestamp of element from heap is
366 * Update the timestamp of the auxtrace heap with the timestamp
379 if (!vpa->heap.heap_cnt) in powerpc_vpadtl_process_queues()
382 if (vpa->heap.heap_array[0].ordinal >= timestamp) in powerpc_vpadtl_process_queues()
385 queue_nr = vpa->heap.heap_array[0].queue_nr; in powerpc_vpadtl_process_queues()
389 auxtrace_heap__pop(&vpa->heap); in powerpc_vpadtl_process_queues()
391 if (vpa->heap.heap_cnt) { in powerpc_vpadtl_process_queues()
392 ts = vpa->heap.heap_array[0].ordinal + 1; in powerpc_vpadtl_process_queues()
[all …]
/linux/lib/zlib_deflate/
H A Ddeftree.c85 * need for the L_CODES extra codes used during heap construction. However
289 /* Index within the heap array of least frequent node in the Huffman tree */
293 * Remove the smallest element from the heap and recreate the heap with
294 * one less element. Updates heap and heap_len.
298 top = s->heap[SMALLEST]; \
299 s->heap[SMALLEST] = s->heap[s->heap_len--]; \
312 * Restore the heap property by moving down the tree starting at node k,
314 * when the heap property is re-established (each father smaller than its
323 int v = s->heap[k]; in pqdownheap()
328 smaller(tree, s->heap[j+1], s->heap[j], s->depth)) { in pqdownheap()
[all …]
H A Ddefutil.h30 /* maximum heap size */
181 int heap[2*L_CODES+1]; /* heap used to build the Huffman trees */ member
182 int heap_len; /* number of elements in the heap */
184 /* The sons of heap[n] are heap[2*n] and heap[2*n+1]. heap[0] is not used.
185 * The same heap array is used to build all trees.
/linux/kernel/sched/
H A Dcpudeadline.c111 * @cp: the cpudl max-heap context
166 * cpudl_clear - remove a CPU from the cpudl max-heap
167 * @cp: the cpudl max-heap context
205 * cpudl_set - update the cpudl max-heap
206 * @cp: the cpudl max-heap context
242 * @cp: the cpudl max-heap context
252 * @cp: the cpudl max-heap context
262 * @cp: the cpudl max-heap context
290 * @cp: the cpudl max-heap context
/linux/security/
H A DKconfig.hardening160 bool "Enable heap memory zeroing on allocation by default"
167 many kinds of "uninitialized heap memory" flaws, especially
168 heap content exposures. The performance impact varies by
173 bool "Enable heap memory zeroing on free by default"
180 when freed, eliminating many kinds of "uninitialized heap memory"
181 flaws, especially heap content exposures. The primary difference
232 are larger than the specified heap object, span multiple
235 of heap overflow exploits and similar kernel memory exposures.
/linux/arch/x86/boot/
H A Dmain.c22 char *HEAP = _end; variable
23 char *heap_end = _end; /* Default end of heap = no heap */
128 /* Boot protocol 2.00 only, no heap available */ in init_heap()
145 /* End of heap check */ in main()
H A Dboot.h170 /* Heap -- available for dynamic lists. */
172 extern char *HEAP;
174 #define RESET_HEAP() ((void *)( HEAP = _end ))
179 HEAP = (char *)(((size_t)HEAP+(a-1)) & ~(a-1)); in __get_heap()
180 tmp = HEAP; in __get_heap()
181 HEAP += s*n; in __get_heap()
189 return (int)(heap_end-HEAP) >= (int)n; in heap_free()
/linux/arch/mips/boot/compressed/
H A Dhead.S32 PTR_LA a0, (.heap) /* heap address */
51 .comm .heap,BOOT_HEAP_SIZE,4
/linux/include/uapi/drm/
H A Dpvr_drm.h258 * enum drm_pvr_heap_id - Array index for heap info data returned by
266 /** @DRM_PVR_HEAP_GENERAL: General purpose heap. */
268 /** @DRM_PVR_HEAP_PDS_CODE_DATA: PDS code and data heap. */
270 /** @DRM_PVR_HEAP_USC_CODE: USC code heap. */
272 /** @DRM_PVR_HEAP_RGNHDR: Region header heap. Only used if GPU has BRN63142. */
274 /** @DRM_PVR_HEAP_VIS_TEST: Visibility test heap. */
276 /** @DRM_PVR_HEAP_TRANSFER_FRAG: Transfer fragment heap. */
291 * struct drm_pvr_heap - Container holding information about a single heap.
296 /** @base: Base address of heap. */
299 /** @size: Size of heap, in bytes. Will be 0 if the heap is not present. */
[all …]
H A Dpanthor_drm.h125 /** @DRM_PANTHOR_TILER_HEAP_CREATE: Create a tiler heap. */
128 /** @DRM_PANTHOR_TILER_HEAP_DESTROY: Destroy a tiler heap. */
447 * VM (heap chunks, heap context, ring buffers, kernel synchronization objects,
945 /** @vm_id: VM ID the tiler heap should be mapped to */
968 * If the heap has more than tiler jobs in-flight, the FW will wait for render
973 /** @handle: Returned heap handle. Passed back to DESTROY_TILER_HEAP. */
976 /** @tiler_heap_ctx_gpu_va: Returned heap GPU virtual address returned */
980 * @first_heap_chunk_gpu_va: First heap chunk.
982 * The tiler heap i
[all...]
/linux/drivers/md/bcache/
H A Dutil.h39 #define init_heap(heap, _size, gfp) \ argument
42 (heap)->used = 0; \
43 (heap)->size = (_size); \
44 _bytes = (heap)->size * sizeof(*(heap)->data); \
45 (heap)->data = kvmalloc(_bytes, (gfp) & GFP_KERNEL); \
46 (heap)->data; \
49 #define free_heap(heap) \ argument
51 kvfree((heap)->data); \
52 (heap)->data = NULL; \
/linux/drivers/gpu/drm/lima/
H A Dlima_gp.c37 dev_dbg(dev->dev, "%s out of heap irq status=%x\n", in lima_gp_irq_handler()
137 /* update real heap buffer size for GP */ in lima_gp_task_run()
148 task->heap = bo; in lima_gp_task_run()
253 if (fail_size == task->heap->heap_size) { in lima_gp_task_recover()
256 ret = lima_heap_alloc(task->heap, task->vm); in lima_gp_task_recover()
266 f[LIMA_GP_PLBU_ALLOC_START_ADDR >> 2] + task->heap->heap_size; in lima_gp_task_recover()
/linux/kernel/configs/
H A Dhardening.config54 # Sampling-based heap out-of-bounds and use-after-free detection.
60 # Initialize all heap variables to zero on allocation.
63 # Initialize all heap variables to zero on free to reduce stale data lifetime.
/linux/arch/x86/realmode/rm/
H A Dstack.S3 * Common heap and stack allocations
9 SYM_DATA(HEAP, .long rm_heap)

12345678