Home
last modified time | relevance | path

Searched full:freelist (Results 1 – 25 of 81) sorted by relevance

1234

/linux/kernel/bpf/
H A Dpercpu_freelist.c10 s->freelist = alloc_percpu(struct pcpu_freelist_head); in pcpu_freelist_init()
11 if (!s->freelist) in pcpu_freelist_init()
15 struct pcpu_freelist_head *head = per_cpu_ptr(s->freelist, cpu); in pcpu_freelist_init()
25 free_percpu(s->freelist); in pcpu_freelist_destroy()
51 if (___pcpu_freelist_push(this_cpu_ptr(s->freelist), node)) in pcpu_freelist_try_push_extra()
58 head = per_cpu_ptr(s->freelist, cpu); in ___pcpu_freelist_push_nmi()
89 head = per_cpu_ptr(s->freelist, cpu); in pcpu_freelist_push()
107 head = per_cpu_ptr(s->freelist, cpu); in pcpu_freelist_populate()
H A Dpercpu_freelist.h16 struct pcpu_freelist_head __percpu *freelist;
15 struct pcpu_freelist_head __percpu *freelist; global() member
/linux/drivers/scsi/elx/efct/
H A Defct_io.c16 struct list_head freelist; member
33 INIT_LIST_HEAD(&io_pool->freelist); in efct_io_pool_create()
69 list_add_tail(&io->list_entry, &io_pool->freelist); in efct_io_pool_create()
115 if (!list_empty(&io_pool->freelist)) { in efct_io_pool_io_alloc()
116 io = list_first_entry(&io_pool->freelist, struct efct_io, in efct_io_pool_io_alloc()
160 list_add(&io->list_entry, &io_pool->freelist); in efct_io_pool_io_free()
/linux/drivers/md/bcache/
H A Dutil.h242 * freelist as a stack - allocating and freeing push and pop off the freelist.
247 type *freelist; \
253 typeof((array)->freelist) _ret = (array)->freelist; \
256 (array)->freelist = *((typeof((array)->freelist) *) _ret);\
263 typeof((array)->freelist) _ptr = ptr; \
265 *((typeof((array)->freelist) *) _ptr) = (array)->freelist; \
266 (array)->freelist = _ptr; \
271 typeof((array)->freelist) _i; \
274 (array)->freelist = NULL; \
282 #define array_freelist_empty(array) ((array)->freelist == NULL)
/linux/include/linux/
H A Dstackdepot.h64 * only place a stack record onto the freelist iff its
67 * union @entries and freelist management state below.
68 * Conversely, as soon as an entry is off the freelist
70 * be accessed until being placed back on the freelist.
72 struct list_head free_list; /* Links in the freelist */
/linux/drivers/scsi/csiostor/
H A Dcsio_wr.c78 /* Ring freelist doorbell */
84 * number of bytes in the freelist queue. This translates to atleast in csio_wr_ring_fldb()
85 * 8 freelist buffer pointers (since each pointer is 8 bytes). in csio_wr_ring_fldb()
108 * @flq: Freelist queue.
110 * Fill up freelist buffer entries with buffers of size specified
146 * @flq: Freelist queue.
167 * @type: Type of queue (Ingress/Egress/Freelist)
169 * @nflb: Number of freelist buffers for FL.
179 * If user has indicated a freelist (by specifying nflb > 0), create
180 * another queue (with its own index into q_arr) for the freelist. Allocate
[all …]
H A Dcsio_scsi.h140 uint32_t n_free_ioreq; /* No. of freelist entries */
141 uint32_t n_free_ddp; /* No. of DDP freelist */
156 spinlock_t freelist_lock; /* Lock for ioreq freelist */
159 struct list_head ddp_freelist; /* DDP descriptor freelist */
H A Dcsio_isr.c142 * @flb: Freelist buffer array.
208 * Once done, add these completions onto the freelist.
239 /* Return the ioreqs back to ioreq->freelist */ in csio_scsi_isr_handler()
/linux/drivers/gpu/drm/imagination/
H A Dpvr_rogue_fwif_sf.h606 "Freelist [0x%08x] cleaned" },
852 …"Freelist grow completed [0x%08x]: added pages 0x%08x, total pages 0x%08x, new DevVirtAddr 0x%08x%…
854 "Grow for freelist ID=0x%08x denied by host" },
856 …"Freelist update completed [0x%08x]: old total pages 0x%08x, new total pages 0x%08x, new DevVirtAd…
858 "Reconstruction of freelist ID=0x%08x failed" },
880 …"Freelist update completed [0x%08x / FL State 0x%08x%08x]: old total pages 0x%08x, new total pages…
882 …"Freelist update failed [0x%08x / FL State 0x%08x%08x]: old total pages 0x%08x, new total pages 0x…
888 "Freelist 0x%08x base address from HW: 0x%02x%08x (expected value: 0x%02x%08x)" },
915 "RPM request failed. Waiting for freelist grow." },
919 "RPM waiting for pending grow on freelist 0x%08x" },
[all …]
H A Dpvr_free_list.c369 /* If we don't have a freelist registered for this ID, we can't do much. */ in pvr_free_list_process_grow_req()
483 /* Flush the FWCCB to process any HWR or freelist reconstruction in pvr_free_list_release()
484 * request that might keep the freelist busy, and try again. in pvr_free_list_release()
/linux/mm/
H A Dslub.c81 * A. slab->freelist -> List of free objects in a slab
91 * cleared while removing them, usually to grab their freelist afterwards.
98 * slab->objects and slab->freelist == NULL) are not placed on any list.
109 * to modify the potentially corrupted freelist and metadata.
150 * cmpxchg_double this is done by a lockless update of slab's freelist and
351 CMPXCHG_DOUBLE_FAIL, /* Failures of slab freelist update */
500 * Returns freelist pointer (ptr). With hardening, this is obfuscated
656 if (slab->freelist == old->freelist && in __update_freelist_slow()
658 slab->freelist = new->freelist; in __update_freelist_slow()
920 for (p = slab->freelist; p; p = get_freepointer(s, p)) in __fill_map()
[all …]
H A Dslab.h38 * Freelist pointer and counter to cmpxchg together, avoids the typical ABA
44 void *freelist; member
107 static_assert(IS_ALIGNED(offsetof(struct slab, freelist), sizeof(struct freelist_counters)));
/linux/drivers/android/tests/
H A Dbinder_alloc_kunit.c211 while ((count = list_lru_count(alloc->freelist))) { in binder_alloc_test_free_page()
212 list_lru_walk(alloc->freelist, binder_alloc_free_page, in binder_alloc_test_free_page()
264 failures = list_lru_count(alloc->freelist); in binder_alloc_test_alloc_free()
416 KUNIT_EXPECT_PTR_EQ(test, priv->alloc.freelist, in binder_alloc_test_init_freelist()
507 kunit_err(test, "Failed to initialize test freelist\n"); in binder_alloc_test_init()
549 /* Make sure freelist is empty */ in binder_alloc_test_exit()
/linux/drivers/android/
H A Dbinder_alloc.h93 * @freelist: lru list to use for free pages (invariant after init)
116 struct list_lru *freelist; member
183 void __binder_alloc_init(struct binder_alloc *alloc, struct list_lru *freelist);
/linux/fs/xfs/libxfs/
H A Dxfs_alloc.h25 #define XFS_ALLOC_FLAG_NOSHRINK (1U << 3) /* don't shrink the freelist */
37 struct xfs_buf *agbp; /* buffer for a.g. freelist header */
55 char wasfromfl; /* set if allocation is from freelist */
98 struct xfs_buf *bp, /* buffer for a.g. freelist header */
/linux/lib/
H A Dstackdepot.c64 /* The lock must be held when performing pool or freelist modifications. */
74 /* Freelist of stack records within stack_pools. */
395 /* Try to find next free usable entry from the freelist. */
523 /* Links stack into the freelist. */
554 * Add the entry to the freelist tail, so that older entries are in depot_free_stack()
614 * This may race with depot_free_stack() accessing the freelist in find_stack()
627 * a stack record is never placed back on the freelist. in find_stack()
/linux/Documentation/bpf/
H A Dmap_lru_hash_update.dot27 label="Local freelist\nnode available?"];
70 label="Steal a node from\nper-cpu freelist?"]
/linux/Documentation/translations/it_IT/RCU/
H A Dtorture.rst50 * "tfle": se non è zero, indica la lista di strutture "torture freelist" da
54 * "rta": numero di strutture allocate dalla lista "torture freelist".
56 * "rtaf": il numero di allocazioni fallite dalla lista "torture freelist" a
61 * "rtf": il numero di rilasci nella lista "torture freelist"
/linux/drivers/iommu/
H A Ddma-iommu.c110 struct iommu_pages_list freelist; member
154 iommu_put_pages_list(&fq->entries[idx].freelist); in fq_ring_free_locked()
159 fq->entries[idx].freelist = in fq_ring_free_locked()
160 IOMMU_PAGES_LIST_INIT(fq->entries[idx].freelist); in fq_ring_free_locked()
200 struct iommu_pages_list *freelist) in queue_iova() argument
239 iommu_pages_list_splice(freelist, &fq->entries[idx].freelist); in queue_iova()
255 iommu_put_pages_list(&fq->entries[idx].freelist); in iommu_dma_free_fq_single()
268 iommu_put_pages_list(&fq->entries[idx].freelist); in iommu_dma_free_fq_percpu()
297 fq->entries[i].freelist = in iommu_dma_init_one_fq()
298 IOMMU_PAGES_LIST_INIT(fq->entries[i].freelist); in iommu_dma_init_one_fq()
[all …]
/linux/drivers/net/ethernet/netronome/nfp/
H A Dnfp_net.h66 /* Default size for MTU and freelist buffer sizes */
88 #define NFP_NET_FL_BATCH 16 /* Add freelist in this Batch size */
194 /* RX and freelist descriptor format */
307 * @fl_qcidx: Queue Controller Peripheral (QCP) queue index for the freelist
308 * @qcp_fl: Pointer to base of the QCP freelist queue
483 * @fl_bufsz: Currently configured size of the freelist buffers
/linux/io_uring/
H A Dzcrx.c420 kvfree(area->freelist); in io_zcrx_free_area()
485 area->freelist = kvmalloc_array(nr_iovs, sizeof(area->freelist[0]), in io_zcrx_create_area()
487 if (!area->freelist) in io_zcrx_create_area()
499 area->freelist[i] = i; in io_zcrx_create_area()
607 area->freelist[area->free_count++] = net_iov_idx(niov); in io_zcrx_return_niov_freelist()
619 niov_idx = area->freelist[--area->free_count]; in zcrx_get_free_niov()
/linux/drivers/nvdimm/
H A Dbtt.h155 * @freelist: Pointer to in-memory list of free blocks
187 struct free_entry *freelist; member
/linux/drivers/net/ethernet/chelsio/cxgb/
H A Dsge.c151 * SW Context Command and Freelist Queue Descriptors
166 * SW command, freelist and response rings
194 struct freelQ_e *entries; /* HW freelist descriptor Q */
195 struct freelQ_ce *centries; /* SW freelist context descriptor Q */
196 dma_addr_t dma_addr; /* DMA addr HW freelist descriptor Q */
254 unsigned int jumbo_fl; /* jumbo freelist Q index */
496 * Frees all RX buffers on the freelist Q. The caller must make sure that
545 * Allocates basic RX resources, consisting of memory mapped freelist Qs and a
810 * Allocates new RX buffers on the freelist Q (and tracks them on the freelist
888 /* We reenable the Qs to force a freelist GTS interrupt later */ in freelQs_empty()
/linux/mm/kfence/
H A Dcore.c136 /* Freelist with available objects. */
137 DEFINE_RAW_SPINLOCK(kfence_freelist_lock); /* Lock protecting freelist. */
455 /* Put the object back on the freelist. */ in kfence_guarded_alloc()
580 /* Add it to the tail of the freelist for reuse. */ in kfence_guarded_free()
661 /* Use addr to randomize the freelist. */ in kfence_init_pool()
1114 * release them back into the freelist so they can still in kfence_shutdown_cache()
/linux/drivers/usb/musb/
H A Dcppi_dma.h95 struct cppi_descriptor *freelist; member

1234