/linux-4.4.14/include/linux/ |
H A D | percpu_ida.h | 30 * It's ok for a freelist to be empty when its bit is set - steal_tags() 32 * percpu freelist does have tags. 49 * Global freelist - it's a stack where nr_free points to the 53 unsigned *freelist; member in struct:percpu_ida::__anon13072 58 * Number of tags we move between the percpu freelist and the global freelist at 62 /* Max size of percpu freelist, */
|
H A D | slub_def.h | 21 ALLOC_REFILL, /* Refill cpu slab from slab freelist */ 41 void **freelist; /* Pointer to next available object */ member in struct:kmem_cache_cpu
|
H A D | mm_types.h | 63 void *freelist; /* sl[aou]b first free object */ member in union:page::__anon12895::__anon12896
|
H A D | mm.h | 591 * freelist management in the buddy allocator.
|
/linux-4.4.14/lib/ |
H A D | percpu_ida.c | 37 /* nr_free/freelist form a stack of free IDs */ 39 unsigned freelist[]; member in struct:percpu_ida_cpu 52 * Try to steal tags from a remote cpu's percpu freelist. 87 memcpy(tags->freelist, steal_tags() 88 remote->freelist, steal_tags() 103 * Pop up to IDA_PCPU_BATCH_MOVE IDs off the global freelist, and push them onto 104 * our percpu freelist: 109 move_tags(tags->freelist, &tags->nr_free, alloc_global_tags() 110 pool->freelist, &pool->nr_free, alloc_global_tags() 120 tag = tags->freelist[--tags->nr_free]; alloc_local_tag() 180 tag = tags->freelist[--tags->nr_free]; percpu_ida_alloc() 228 tags->freelist[tags->nr_free++] = tag; percpu_ida_free() 247 move_tags(pool->freelist, &pool->nr_free, percpu_ida_free() 248 tags->freelist, &tags->nr_free, percpu_ida_free() 269 free_pages((unsigned long) pool->freelist, percpu_ida_destroy() 306 pool->freelist = (void *) __get_free_pages(GFP_KERNEL, order); __percpu_ida_init() 307 if (!pool->freelist) __percpu_ida_init() 311 pool->freelist[i] = i; __percpu_ida_init() 353 err = fn(remote->freelist[i], data); for_each_possible_cpu() 364 err = fn(pool->freelist[i], data);
|
H A D | debugobjects.c | 219 HLIST_HEAD(freelist); debug_objects_oom() 228 hlist_move_list(&db->list, &freelist); debug_objects_oom() 232 hlist_for_each_entry_safe(obj, tmp, &freelist, node) { debug_objects_oom() 670 HLIST_HEAD(freelist); __debug_check_no_obj_freed() 706 hlist_add_head(&obj->node, &freelist); __debug_check_no_obj_freed() 713 hlist_for_each_entry_safe(obj, tmp, &freelist, node) { __debug_check_no_obj_freed()
|
/linux-4.4.14/mm/ |
H A D | slub.c | 56 * A. page->freelist -> List of object free in a page 63 * onto the freelist but the processor that froze the slab is the only 64 * one that can retrieve the objects from the page's freelist. 109 * freelist that allows lockless access to 110 * free objects in addition to the regular freelist 299 * If we have the need to store the freelist pointer slab_ksize() 374 if (cmpxchg_double(&page->freelist, &page->counters, __cmpxchg_double_slab() 382 if (page->freelist == freelist_old && __cmpxchg_double_slab() 384 page->freelist = freelist_new; __cmpxchg_double_slab() 410 if (cmpxchg_double(&page->freelist, &page->counters, cmpxchg_double_slab() 421 if (page->freelist == freelist_old && cmpxchg_double_slab() 423 page->freelist = freelist_new; cmpxchg_double_slab() 455 for (p = page->freelist; p; p = get_freepointer(s, p)) get_map() 587 page, page->objects, page->inuse, page->freelist, page->flags); print_page_info() 893 * Determine if a certain object on a page is on the freelist. Must hold the 903 fp = page->freelist; on_freelist() 914 page->freelist = NULL; on_freelist() 953 page->freelist); trace() 1063 page->freelist = NULL; alloc_debug_processing() 1068 /* Supports checking bulk free of a constructed freelist */ free_debug_processing() 1120 /* Reached end of constructed freelist yet? */ free_debug_processing() 1127 slab_err(s, page, "Bulk freelist count(%d) invalid(%d)\n", free_debug_processing() 1471 page->freelist = start; allocate_slab() 1609 * return the pointer to the freelist. 1617 void *freelist; acquire_slab() local 1624 * Zap the freelist and set the frozen bit. acquire_slab() 1625 * The old freelist is the list of objects for the acquire_slab() 1628 freelist = page->freelist; acquire_slab() 1634 new.freelist = NULL; acquire_slab() 1636 new.freelist = freelist; acquire_slab() 1643 freelist, counters, acquire_slab() 1644 new.freelist, new.counters, acquire_slab() 1649 WARN_ON(!freelist); acquire_slab() 1650 return freelist; acquire_slab() 1861 void *freelist) deactivate_slab() 1872 if (page->freelist) { deactivate_slab() 1879 * to the page freelist while it is still frozen. Leave the deactivate_slab() 1885 while (freelist && (nextfree = get_freepointer(s, freelist))) { deactivate_slab() 1890 prior = page->freelist; deactivate_slab() 1892 set_freepointer(s, freelist, prior); deactivate_slab() 1899 freelist, new.counters, deactivate_slab() 1900 "drain percpu freelist")); deactivate_slab() 1902 freelist = nextfree; deactivate_slab() 1921 old.freelist = page->freelist; deactivate_slab() 1927 if (freelist) { deactivate_slab() 1929 set_freepointer(s, freelist, old.freelist); deactivate_slab() 1930 new.freelist = freelist; deactivate_slab() 1932 new.freelist = old.freelist; deactivate_slab() 1938 else if (new.freelist) { deactivate_slab() 1987 old.freelist, old.counters, deactivate_slab() 1988 new.freelist, new.counters, deactivate_slab() 2033 old.freelist = page->freelist; unfreeze_partials() 2038 new.freelist = old.freelist; unfreeze_partials() 2043 old.freelist, old.counters, unfreeze_partials() 2044 new.freelist, new.counters, unfreeze_partials() 2134 deactivate_slab(s, c->page, c->freelist); flush_slab() 2138 c->freelist = NULL; flush_slab() 2259 void *freelist; new_slab_objects() local 2263 freelist = get_partial(s, flags, node, c); new_slab_objects() 2265 if (freelist) new_slab_objects() 2266 return freelist; new_slab_objects() 2278 freelist = page->freelist; new_slab_objects() 2279 page->freelist = NULL; new_slab_objects() 2285 freelist = NULL; new_slab_objects() 2287 return freelist; new_slab_objects() 2299 * Check the page->freelist of a page and either transfer the freelist to the 2300 * per cpu freelist or deactivate the page. 2312 void *freelist; get_freelist() local 2315 freelist = page->freelist; get_freelist() 2322 new.frozen = freelist != NULL; get_freelist() 2325 freelist, counters, get_freelist() 2329 return freelist; get_freelist() 2333 * Slow path. The lockless freelist is empty or we need to perform 2337 * regular freelist. In that case we simply take over the regular freelist 2338 * as the lockless freelist and zap the regular freelist. 2341 * first element of the freelist as the object to allocate now and move the 2342 * rest of the freelist to the lockless freelist. 2354 void *freelist; ___slab_alloc() local 2370 deactivate_slab(s, page, c->freelist); ___slab_alloc() 2372 c->freelist = NULL; ___slab_alloc() 2383 deactivate_slab(s, page, c->freelist); ___slab_alloc() 2385 c->freelist = NULL; ___slab_alloc() 2389 /* must check again c->freelist in case of cpu migration or IRQ */ ___slab_alloc() 2390 freelist = c->freelist; ___slab_alloc() 2391 if (freelist) ___slab_alloc() 2394 freelist = get_freelist(s, page); ___slab_alloc() 2396 if (!freelist) { ___slab_alloc() 2406 * freelist is pointing to the list of objects to be used. ___slab_alloc() 2411 c->freelist = get_freepointer(s, freelist); ___slab_alloc() 2413 return freelist; ___slab_alloc() 2421 c->freelist = NULL; ___slab_alloc() 2425 freelist = new_slab_objects(s, gfpflags, node, &c); ___slab_alloc() 2427 if (unlikely(!freelist)) { ___slab_alloc() 2438 !alloc_debug_processing(s, page, freelist, addr)) ___slab_alloc() 2441 deactivate_slab(s, page, get_freepointer(s, freelist)); ___slab_alloc() 2443 c->freelist = NULL; ___slab_alloc() 2444 return freelist; ___slab_alloc() 2477 * The fastpath works by first checking if the lockless freelist can be used. 2527 object = c->freelist; slab_alloc_node() 2542 * 2. Verify that tid and freelist have not been changed slab_alloc_node() 2543 * 3. If they were not changed replace tid and freelist slab_alloc_node() 2550 s->cpu_slab->freelist, s->cpu_slab->tid, slab_alloc_node() 2658 prior = page->freelist; __slab_free() 2760 * Bulk free of a freelist with several objects (all pointing to the 2791 set_freepointer(s, tail_obj, c->freelist); slab_free() 2794 s->cpu_slab->freelist, s->cpu_slab->tid, slab_free() 2795 c->freelist, tid, slab_free() 2820 void *freelist; member in struct:detached_freelist 2828 * page. It builds a detached freelist directly within the given 2831 * The freelist is build up as a single linked list in the objects. 2832 * The idea is, that this detached freelist can then be bulk 2833 * transferred to the real freelist(s), but only requiring a single 2858 /* Start new detached freelist */ build_detached_freelist() 2862 df->freelist = object; build_detached_freelist() 2873 /* Opportunity build freelist */ build_detached_freelist() 2874 set_freepointer(df->s, object, df->freelist); build_detached_freelist() 2875 df->freelist = object; build_detached_freelist() 2906 slab_free(df.s, df.page, df.freelist, df.tail, df.cnt,_RET_IP_); kmem_cache_free_bulk() 2931 void *object = c->freelist; kmem_cache_alloc_bulk() 2936 * of re-populating per CPU c->freelist kmem_cache_alloc_bulk() 2946 c->freelist = get_freepointer(s, object); kmem_cache_alloc_bulk() 3153 n = page->freelist; early_kmem_cache_node_alloc() 3155 page->freelist = get_freepointer(kmem_cache_node, n); early_kmem_cache_node_alloc() 4098 /* Now we know that a valid freelist exists */ validate_slab() 1860 deactivate_slab(struct kmem_cache *s, struct page *page, void *freelist) deactivate_slab() argument
|
H A D | slob.c | 52 * Node aware pages are still inserted in to the global freelist, and 55 * the freelist will only be done so on pages residing on the same node, 222 for (prev = NULL, cur = sp->freelist; ; prev = cur, cur = slob_next(cur)) { slob_page_alloc() 246 sp->freelist = next; slob_page_alloc() 251 sp->freelist = cur + units; slob_page_alloc() 289 * page with a matching node id in the freelist. list_for_each_entry() 324 sp->freelist = b; 371 sp->freelist = b; slob_free() 391 if (b < (slob_t *)sp->freelist) { slob_free() 392 if (b + units == sp->freelist) { slob_free() 393 units += slob_units(sp->freelist); slob_free() 394 sp->freelist = slob_next(sp->freelist); slob_free() 396 set_slob(b, units, sp->freelist); slob_free() 397 sp->freelist = b; slob_free() 399 prev = sp->freelist; slob_free()
|
H A D | zsmalloc.c | 20 * page->index (union with page->freelist): offset of the first object 22 * always 0, so we use this field (aka freelist) to point 32 * page->freelist: points to the first free object in zspage. 226 * For every zspage, first_page->freelist gives head of this list. 647 * have. This functions inserts the given zspage into the freelist 679 * This function removes the given zspage from the freelist identified 711 * page from the freelist of the old fullness group to that of the new 882 page->freelist = NULL; reset_page() 927 * so we use first_page->index (aka ->freelist) to store init_zspage() 928 * head of corresponding zspage's freelist. init_zspage() 1001 first_page->freelist = location_to_obj(first_page, 0); alloc_zspage() 1361 obj = (unsigned long)first_page->freelist; obj_malloc() 1367 first_page->freelist = link->next; obj_malloc() 1456 /* Insert this object in containing zspage's freelist */ obj_free() 1458 link->next = first_page->freelist; obj_free() 1462 first_page->freelist = (void *)obj; obj_free()
|
H A D | compaction.c | 42 static unsigned long release_freepages(struct list_head *freelist) release_freepages() argument 47 list_for_each_entry_safe(page, next, freelist, lru) { list_for_each_entry_safe() 390 * Isolate free pages onto a private freelist. If @strict is true, will abort 397 struct list_head *freelist, isolate_freepages_block() 480 list_add(&page->lru, freelist); isolate_freepages_block() 558 LIST_HEAD(freelist); isolate_freepages_range() 584 block_end_pfn, &freelist, true); isolate_freepages_range() 602 map_pages(&freelist); isolate_freepages_range() 606 release_freepages(&freelist); isolate_freepages_range() 941 struct list_head *freelist = &cc->freepages; isolate_freepages() local 994 block_end_pfn, freelist, false); isolate_freepages() 1023 map_pages(freelist); isolate_freepages() 1066 * freelist. All pages on the freelist are from the same zone, so there is no 394 isolate_freepages_block(struct compact_control *cc, unsigned long *start_pfn, unsigned long end_pfn, struct list_head *freelist, bool strict) isolate_freepages_block() argument
|
H A D | slab.c | 405 status = (char *)page->freelist + freelist_size; set_obj_status() 416 status = (char *)page->freelist + freelist_size; get_obj_status() 1294 * Drains freelist for a node on each slab cache, used for memory hot-remove. 1888 void *freelist; slab_destroy() local 1890 freelist = page->freelist; slab_destroy() 1898 * From now on, we don't use freelist slab_destroy() 1902 kmem_cache_free(cachep->freelist_cache, freelist); slab_destroy() 2454 void *freelist; alloc_slabmgmt() local 2459 freelist = kmem_cache_alloc_node(cachep->freelist_cache, alloc_slabmgmt() 2461 if (!freelist) alloc_slabmgmt() 2464 freelist = addr + colour_off; alloc_slabmgmt() 2469 return freelist; alloc_slabmgmt() 2474 return ((freelist_idx_t *)page->freelist)[idx]; get_free_obj() 2480 ((freelist_idx_t *)(page->freelist))[idx] = val; set_free_obj() 2583 void *freelist) slab_map_pages() 2586 page->freelist = freelist; slab_map_pages() 2596 void *freelist; cache_grow() local 2646 freelist = alloc_slabmgmt(cachep, page, offset, cache_grow() 2648 if (!freelist) cache_grow() 2651 slab_map_pages(cachep, page, freelist); cache_grow() 2582 slab_map_pages(struct kmem_cache *cache, struct page *page, void *freelist) slab_map_pages() argument
|
H A D | page_isolation.c | 230 * the correct MIGRATE_ISOLATE freelist. There is no __test_page_isolated_in_pageblock()
|
H A D | memory-failure.c | 742 * not in-use) hugepage by dequeuing it from freelist. me_huge_page() 1113 * an affected hugepage will be dequeued from hugepage freelist, memory_failure()
|
H A D | hugetlb.c | 4400 * Hwpoisoned hugepage isn't linked to activelist or freelist, dequeue_hwpoisoned_huge_page()
|
H A D | page_alloc.c | 134 * other index - this ensures that it will be put on the correct CMA freelist.
|
/linux-4.4.14/fs/xfs/libxfs/ |
H A D | xfs_alloc.h | 62 * data blocks, freelist blocks, and potential file data bmap 72 * needed freelist blocks is 4 fsbs _per AG_, a potential split of file's bmap 102 struct xfs_buf *agbp; /* buffer for a.g. freelist header */ 122 char wasfromfl; /* set if allocation is from freelist */ 123 char isfl; /* set if is freelist blocks - !acctg */ 148 * Get a block from the freelist. 155 xfs_agblock_t *bnop, /* block address retrieved from freelist */ 164 struct xfs_buf *bp, /* buffer for a.g. freelist header */ 178 * Put the block on the freelist for the allocation group. 183 struct xfs_buf *agbp, /* buffer for a.g. freelist header */ 197 struct xfs_buf **bpp); /* buffer for the ag freelist header */
|
H A D | xfs_alloc.c | 293 xfs_agf_t *agf; /* a.g. freelist header */ xfs_alloc_fix_minleft() 1490 * or allocate space from the freelist if there is nothing in the tree. 1498 int *stat) /* status: 0-freelist, 1-normal/none */ xfs_alloc_ag_vextent_small() 1513 * Nothing in the btree, try the freelist. Make sure xfs_alloc_ag_vextent_small() 1515 * freelist. xfs_alloc_ag_vextent_small() 1546 * Nothing in the freelist. xfs_alloc_ag_vextent_small() 1552 * Can't allocate from the freelist for some reason. xfs_alloc_ag_vextent_small() 1583 xfs_buf_t *agbp, /* buffer for a.g. freelist header */ xfs_free_ag_extent() 1587 int isfl) /* set if is freelist blocks - no sb acctg */ xfs_free_ag_extent() 1894 * Check if the operation we are fixing up the freelist for should go ahead or 1928 * If so, fix up the btree freelist's size. 1941 xfs_agblock_t bno; /* freelist block */ xfs_alloc_fix_freelist() 1942 xfs_extlen_t need; /* total blocks needed in freelist */ xfs_alloc_fix_freelist() 1992 * Make the freelist shorter if it's too long. xfs_alloc_fix_freelist() 2032 /* Make the freelist longer if it's too short. */ xfs_alloc_fix_freelist() 2077 * Get a block from the freelist. 2084 xfs_agblock_t *bnop, /* block address retrieved from freelist */ xfs_alloc_get_freelist() 2088 xfs_buf_t *agflbp;/* buffer for a.g. freelist structure */ xfs_alloc_get_freelist() 2148 xfs_buf_t *bp, /* buffer for a.g. freelist header */ xfs_alloc_log_agf() 2199 * Put the block on the freelist for the allocation group. 2204 xfs_buf_t *agbp, /* buffer for a.g. freelist header */ xfs_alloc_put_freelist() 2357 struct xfs_buf **bpp) /* buffer for the ag freelist header */ xfs_read_agf() 2387 struct xfs_buf **bpp) /* buffer for the ag freelist header */ xfs_alloc_read_agf() 2389 struct xfs_agf *agf; /* ag freelist header */ xfs_alloc_read_agf() 2664 * after fixing up the freelist.
|
H A D | xfs_bmap.h | 35 struct xfs_bmap_free *flist; /* bmap freelist */
|
H A D | xfs_da_btree.h | 73 struct xfs_bmap_free *flist; /* ptr to freelist for bmap_finish */
|
H A D | xfs_alloc_btree.c | 79 /* Allocate the new block from the freelist. If we can't, give up. */ xfs_allocbt_alloc_block()
|
H A D | xfs_format.h | 628 __be32 agf_flfirst; /* first freelist block's index */ 629 __be32 agf_fllast; /* last freelist block's index */ 630 __be32 agf_flcount; /* count of blocks in freelist */ 759 * The third a.g. block contains the a.g. freelist, an array
|
H A D | xfs_ialloc.c | 662 * fixing up the freelist. Use the minalignslop field to xfs_ialloc_ag_alloc()
|
/linux-4.4.14/drivers/md/bcache/ |
H A D | util.h | 251 * freelist as a stack - allocating and freeing push and pop off the freelist. 256 type *freelist; \ 262 typeof((array)->freelist) _ret = (array)->freelist; \ 265 (array)->freelist = *((typeof((array)->freelist) *) _ret);\ 272 typeof((array)->freelist) _ptr = ptr; \ 274 *((typeof((array)->freelist) *) _ptr) = (array)->freelist; \ 275 (array)->freelist = _ptr; \ 280 typeof((array)->freelist) _i; \ 283 (array)->freelist = NULL; \ 291 #define array_freelist_empty(array) ((array)->freelist == NULL)
|
H A D | writeback.c | 364 if (array_freelist_empty(&buf->freelist)) refill_full_stripes() 400 if (array_freelist_empty(&buf->freelist)) refill_dirty()
|
H A D | alloc.c | 28 * free_inc isn't the only freelist - if it was, we'd often to sleep while 30 * smaller freelist, and buckets on that list are always ready to be used. 35 * There is another freelist, because sometimes we have buckets that we know
|
H A D | btree.c | 1859 * We need to put some unused buckets directly on the prio freelist in bch_initial_gc_finish() 2382 w = array_alloc(&buf->freelist); refill_keybuf_fn() 2392 array_free(&buf->freelist, w); refill_keybuf_fn() 2396 if (array_freelist_empty(&buf->freelist)) refill_keybuf_fn() 2448 array_free(&buf->freelist, w); __bch_keybuf_del() 2532 array_allocator_init(&buf->freelist); bch_keybuf_init()
|
H A D | closure.h | 360 * freelist protected by @cl's parent.
|
H A D | bcache.h | 243 DECLARE_ARRAY_ALLOCATOR(struct keybuf_key, freelist, KEYBUF_NR);
|
/linux-4.4.14/fs/jfs/ |
H A D | jfs_dtree.h | 152 s8 freelist; /* 1: freelist header */ member in struct:__anon11603::__anon11604 191 * end of entry stot list or freelist is marked with -1. 201 s8 freelist; /* 1: slot index of head of freelist */ member in struct:__anon11605::__anon11606
|
H A D | jfs_dtree.c | 25 * directory entry slots initialized as a freelist 28 * from the freelist as required to store variable length data 30 * are returned to freelist. 1428 /* init freelist */ dtSplitPage() 1430 rp->header.freelist = fsi; dtSplitPage() 1454 * initialize freelist of new right page dtSplitPage() 1570 * finalize freelist of new right page dtSplitPage() 1572 fsi = rp->header.freelist; dtSplitPage() 1781 * add old stbl region at head of freelist dtExtendPage() 1785 last = sp->header.freelist; dtExtendPage() 1790 sp->header.freelist = last; dtExtendPage() 1794 * append free region of newly extended area at tail of freelist dtExtendPage() 1803 /* append new free region at tail of old freelist */ dtExtendPage() 1804 fsi = sp->header.freelist; dtExtendPage() 1806 sp->header.freelist = n; dtExtendPage() 1829 if (sp->header.freelist < n) dtExtendPage() 1966 * append free region of newly extended area at tail of freelist dtSplitRoot() 1975 /* append new free region at tail of old freelist */ dtSplitRoot() 1976 fsi = sp->header.freelist; dtSplitRoot() 1978 rp->header.freelist = n; dtSplitRoot() 1980 rp->header.freelist = fsi; dtSplitRoot() 2055 /* init freelist */ dtSplitRoot() 2064 sp->header.freelist = DTENTRYSTART + 1; dtSplitRoot() 2893 /* init freelist */ dtInitRoot() 2902 p->header.freelist = 1; dtInitRoot() 3928 hsi = fsi = p->header.freelist; dtInsertEntry() 3930 p->header.freelist = h->next; dtInsertEntry() 3976 fsi = p->header.freelist; dtInsertEntry() 3978 p->header.freelist = t->next; dtInsertEntry() 4062 * nextindex of dst page and freelist/freecnt of both pages 4085 dsi = dp->header.freelist; /* first (whole page) free slot */ dtMoveEntry() 4086 sfsi = sp->header.freelist; dtMoveEntry() 4244 sp->header.freelist = sfsi; dtMoveEntry() 4250 dp->header.freelist = dsi; dtMoveEntry() 4260 * log freelist header, stbl, and each segment slot of entry 4334 /* update freelist */ dtDeleteEntry() 4335 t->next = p->header.freelist; dtDeleteEntry() 4336 p->header.freelist = fsi; dtDeleteEntry() 4355 * log freelist header, stbl, and each segment slot of entry 4429 /* update freelist */ dtTruncateEntry() 4432 t->next = p->header.freelist; dtTruncateEntry() 4433 p->header.freelist = fsi; dtTruncateEntry() 4453 fsi = p->header.freelist; dtLinelockFreelist()
|
H A D | jfs_txnmgr.h | 97 * next lockword on freelist
|
H A D | jfs_logmgr.c | 152 #define lbmSYNC 0x0008 /* do not return to freelist 155 #define lbmFREE 0x0010 /* return to freelist 1383 * freelist; lmLogInit() 1905 * recycle from log buffer freelist if any lbmAllocate() 1928 * release a log buffer to freelist 1948 * return the buffer to head of freelist lbmfree() 2323 * insert buffer at head of freelist where it can be recycled lbmIODone()
|
H A D | jfs_txnmgr.c | 539 * insert tblock back on freelist txEnd() 959 * at head of freelist txUnlock() 1624 * freelist and update bmap for alloc of the new page; dtLog() 2262 /* do not release page to freelist */ txForce() 2672 /* insert tlock at head of freelist */ txAbort()
|
H A D | jfs_imap.c | 1811 jfs_error(ip->i_sb, "nfreeinos = 0, but iag on freelist\n"); diAllocIno()
|
/linux-4.4.14/drivers/nvdimm/ |
H A D | btt.c | 336 * It does _not_ prepare the freelist entry for the next write 337 * btt_flog_write is the wrapper for updating the freelist elements 374 arena->freelist[lane].sub = 1 - arena->freelist[lane].sub; btt_flog_write() 375 if (++(arena->freelist[lane].seq) == 4) btt_flog_write() 376 arena->freelist[lane].seq = 1; btt_flog_write() 377 arena->freelist[lane].block = le32_to_cpu(ent->old_map); btt_flog_write() 450 arena->freelist = kcalloc(arena->nfree, sizeof(struct free_entry), btt_freelist_init() 452 if (!arena->freelist) btt_freelist_init() 465 arena->freelist[i].sub = 1 - new; btt_freelist_init() 466 arena->freelist[i].seq = nd_inc_seq(le32_to_cpu(log_new.seq)); btt_freelist_init() 467 arena->freelist[i].block = le32_to_cpu(log_new.old_map); btt_freelist_init() 579 kfree(arena->freelist); free_arenas() 1073 new_postmap = arena->freelist[lane].block; btt_write_pg() 1109 log.seq = cpu_to_le32(arena->freelist[lane].seq); btt_write_pg() 1110 sub = arena->freelist[lane].sub; btt_write_pg()
|
H A D | btt.h | 113 * @freelist: Pointer to in-memory list of free blocks 142 struct free_entry *freelist; member in struct:arena_info
|
/linux-4.4.14/drivers/staging/android/ion/ |
H A D | ion_priv.h | 262 * Adds an item to the deferred freelist. 271 * Drains the indicated amount of memory from the deferred freelist immediately. 274 * total memory on the freelist. 286 * Drains the indicated amount of memory from the deferred freelist immediately. 289 * total memory on the freelist. 302 * ion_heap_freelist_size - returns the size of the freelist in bytes
|
/linux-4.4.14/drivers/scsi/csiostor/ |
H A D | csio_scsi.h | 140 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 D | csio_wr.c | 77 /* Ring freelist doorbell */ 83 * number of bytes in the freelist queue. This translates to atleast csio_wr_ring_fldb() 84 * 8 freelist buffer pointers (since each pointer is 8 bytes). csio_wr_ring_fldb() 109 * Fill up freelist buffer entries with buffers of size specified 168 * @nflb: Number of freelist buffers for FL. 178 * If user has indicated a freelist (by specifying nflb > 0), create 179 * another queue (with its own index into q_arr) for the freelist. Allocate 180 * memory for DMA buffer metadata (vaddr, len etc). Save off the freelist 1007 * @flq: The freelist queue. 1009 * Invalidate the driver's version of a freelist buffer entry, 1026 * csio_wr_process_fl - Process a freelist completion. 1029 * @wr: The freelist completion WR in the ingress queue. 1067 /* Consume all freelist buffers used for len bytes */ csio_wr_process_fl()
|
H A D | csio_isr.c | 208 * Once done, add these completions onto the freelist. 239 /* Return the ioreqs back to ioreq->freelist */ csio_scsi_isr_handler()
|
H A D | csio_hw.h | 234 /* ELSCT request freelist*/ 435 struct list_head evt_free_q; /* freelist of evt
|
H A D | csio_scsi.c | 1098 * NOTE: The SCSI queue doesnt allocate a freelist today, hence 1099 * no freelist buffer is expected. 2363 /* Added it to scsi ddp freelist */ csio_scsi_alloc_ddp_bufs() 2370 /* release dma descs back to freelist and free dma memory */ csio_scsi_alloc_ddp_bufs() 2397 /* release dma descs back to freelist and free dma memory */ csio_scsi_free_ddp_bufs()
|
/linux-4.4.14/drivers/iommu/ |
H A D | intel-iommu.c | 466 struct page *freelist[HIGH_WATER_MARK]; member in struct:deferred_flush_tables 1176 struct page *freelist) dma_pte_list_pagetables() 1181 pg->freelist = freelist; dma_pte_list_pagetables() 1182 freelist = pg; dma_pte_list_pagetables() 1185 return freelist; dma_pte_list_pagetables() 1190 freelist = dma_pte_list_pagetables(domain, level - 1, dma_pte_list_pagetables() 1191 pte, freelist); dma_pte_list_pagetables() 1195 return freelist; dma_pte_list_pagetables() 1202 struct page *freelist) dma_pte_clear_level() 1223 freelist = dma_pte_list_pagetables(domain, level - 1, pte, freelist); dma_pte_clear_level() 1231 freelist = dma_pte_clear_level(domain, level - 1, dma_pte_clear_level() 1234 freelist); dma_pte_clear_level() 1244 return freelist; dma_pte_clear_level() 1254 struct page *freelist = NULL; domain_unmap() local 1261 freelist = dma_pte_clear_level(domain, agaw_to_level(domain->agaw), domain_unmap() 1267 pgd_page->freelist = freelist; domain_unmap() 1268 freelist = pgd_page; domain_unmap() 1273 return freelist; domain_unmap() 1276 static void dma_free_pagelist(struct page *freelist) dma_free_pagelist() argument 1280 while ((pg = freelist)) { dma_free_pagelist() 1281 freelist = pg->freelist; dma_free_pagelist() 1914 struct page *freelist = NULL; domain_exit() local 1932 freelist = domain_unmap(domain, 0, DOMAIN_MAX_PFN(domain->gaw)); domain_exit() 1934 dma_free_pagelist(freelist); domain_exit() 3528 !deferred_flush[i].freelist[j], 0); flush_unmaps() 3535 if (deferred_flush[i].freelist[j]) flush_unmaps() 3536 dma_free_pagelist(deferred_flush[i].freelist[j]); flush_unmaps() 3553 static void add_unmap(struct dmar_domain *dom, struct iova *iova, struct page *freelist) add_unmap() argument 3569 deferred_flush[iommu_id].freelist[next] = freelist; add_unmap() 3586 struct page *freelist; intel_unmap() local 3607 freelist = domain_unmap(domain, start_pfn, last_pfn); intel_unmap() 3611 last_pfn - start_pfn + 1, !freelist, 0); intel_unmap() 3614 dma_free_pagelist(freelist); intel_unmap() 3616 add_unmap(domain, iova, freelist); intel_unmap() 4459 struct page *freelist; intel_iommu_memory_notifier() local 4476 freelist = domain_unmap(si_domain, iova->pfn_lo, intel_iommu_memory_notifier() 4483 !freelist, 0); intel_iommu_memory_notifier() 4485 dma_free_pagelist(freelist); intel_iommu_memory_notifier() 4896 struct page *freelist = NULL; intel_iommu_unmap() local 4912 freelist = domain_unmap(dmar_domain, start_pfn, last_pfn); intel_iommu_unmap() 4920 start_pfn, npages, !freelist, 0); for_each_domain_iommu() 4923 dma_free_pagelist(freelist); 1174 dma_pte_list_pagetables(struct dmar_domain *domain, int level, struct dma_pte *pte, struct page *freelist) dma_pte_list_pagetables() argument 1198 dma_pte_clear_level(struct dmar_domain *domain, int level, struct dma_pte *pte, unsigned long pfn, unsigned long start_pfn, unsigned long last_pfn, struct page *freelist) dma_pte_clear_level() argument
|
/linux-4.4.14/drivers/usb/musb/ |
H A D | cppi_dma.h | 101 struct cppi_descriptor *freelist; member in struct:cppi_channel
|
H A D | cppi_dma.c | 42 * more simply, switch to a global freelist not per-channel ones. 61 struct cppi_descriptor *bd = c->freelist; cppi_bd_alloc() 64 c->freelist = bd->next; cppi_bd_alloc() 73 bd->next = c->freelist; cppi_bd_free() 74 c->freelist = bd; cppi_bd_free() 119 c->freelist = NULL; cppi_pool_init() 608 bd = tx->freelist; cppi_next_tx_segment() 663 musb_writel(&tx_ram->tx_head, 0, (u32)tx->freelist->dma); cppi_next_tx_segment()
|
/linux-4.4.14/drivers/net/ethernet/chelsio/cxgb/ |
H A D | sge.h | 51 unsigned int freelistQ_empty; /* # times freelist empty */
|
H A D | sge.c | 175 * SW command, freelist and response rings 203 struct freelQ_e *entries; /* HW freelist descriptor Q */ 204 struct freelQ_ce *centries; /* SW freelist context descriptor Q */ 205 dma_addr_t dma_addr; /* DMA addr HW freelist descriptor Q */ 261 unsigned int jumbo_fl; /* jumbo freelist Q index */ 502 * Frees all RX buffers on the freelist Q. The caller must make sure that 552 * Allocates basic RX resources, consisting of memory mapped freelist Qs and a 814 * Allocates new RX buffers on the freelist Q (and tracks them on the freelist 892 /* We reenable the Qs to force a freelist GTS interrupt later */ freelQs_empty()
|
/linux-4.4.14/fs/xfs/ |
H A D | xfs_stats.c | 118 /* maximum; incore; ratio free to inuse; freelist */ xqm_proc_show()
|
H A D | xfs_qm.c | 44 * quota functionality, including maintaining the freelist and hash 182 * We move dquots to the freelist as soon as their reference count xfs_qm_dqpurge() 183 * hits zero, so it really should be on the freelist here. xfs_qm_dqpurge() 447 * the freelist and try again. __releases()
|
H A D | xfs_mount.h | 281 __uint32_t pagf_flcount; /* count of blocks in freelist */
|
H A D | xfs_symlink.c | 272 * Initialize the bmap freelist prior to calling either xfs_symlink()
|
H A D | xfs_dquot.c | 318 * Initialize the bmap freelist prior to calling bmapi code. xfs_qm_dqalloc() 369 * start a second transaction if the freelist is not empty. xfs_qm_dqalloc()
|
H A D | xfs_fsops.c | 261 * AG freelist header block xfs_growfs_data_private()
|
H A D | xfs_inode.c | 733 * also returns the [locked] bp pointing to the head of the freelist 972 * the freelist. Since we can only do one allocation per xfs_dir_ialloc() 977 * If xfs_ialloc did an allocation to replenish the freelist, xfs_dir_ialloc() 978 * it returns the bp containing the head of the freelist as xfs_dir_ialloc()
|
/linux-4.4.14/drivers/scsi/ |
H A D | scsi.c | 416 * scsi_setup_command_freelist - Setup the command freelist for a scsi host. 417 * @shost: host to allocate the freelist for. 419 * Description: The command freelist protects against system-wide out of memory 451 * scsi_destroy_command_freelist - Release the command freelist for a scsi host. 452 * @shost: host whose freelist is going to be destroyed
|
H A D | hosts.c | 230 * Note that we allocate the freelist even for the MQ case for now, scsi_add_host_with_dma() 232 * the full host freelist and one command available for that is a scsi_add_host_with_dma()
|
H A D | advansys.c | 4235 * So start at carrier 1 with the freelist. AdvBuildCarrierFreelist() 8406 * remains on the freelist and initialize fields. AdvExeScsiQueue()
|
/linux-4.4.14/drivers/net/ethernet/cavium/liquidio/ |
H A D | octeon_device.c | 860 struct list_head freelist, *temp, *tmp2; octeon_delete_dispatch_list() local 862 INIT_LIST_HEAD(&freelist); octeon_delete_dispatch_list() 873 list_add_tail(temp, &freelist); octeon_delete_dispatch_list() 883 list_for_each_safe(temp, tmp2, &freelist) { octeon_delete_dispatch_list()
|
/linux-4.4.14/drivers/dma/ |
H A D | txx9dmac.c | 229 dev_vdbg(chan2dev(&dc->chan), "scanned %u descriptors on freelist\n", txx9dmac_desc_get() 274 "moving child desc %p to freelist\n", txx9dmac_desc_put() 277 dev_vdbg(chan2dev(&dc->chan), "moving desc %p to freelist\n", txx9dmac_desc_put()
|
H A D | at_hdmac.c | 153 "scanned %u descriptors on freelist\n", i); atc_desc_get() 185 "moving child desc %p to freelist\n", atc_desc_put() 189 "moving desc %p to freelist\n", desc); atc_desc_put()
|
/linux-4.4.14/drivers/gpu/drm/i810/ |
H A D | i810_dma.c | 289 /* Not enough space in the status page for the freelist */ i810_freelist_init() 409 /* Now we need to init our freelist */ i810_dma_initialize() 414 " the freelist\n"); i810_dma_initialize()
|
/linux-4.4.14/drivers/dma/dw/ |
H A D | core.c | 102 dev_vdbg(chan2dev(&dwc->chan), "scanned %u descriptors on freelist\n", i); dwc_desc_get() 121 "moving child desc %p to freelist\n", dwc_desc_put() 124 dev_vdbg(chan2dev(&dwc->chan), "moving desc %p to freelist\n", desc); dwc_desc_put()
|
/linux-4.4.14/drivers/usb/gadget/function/ |
H A D | u_ether.c | 537 * this freelist can be empty if an interrupt triggered disconnect() eth_start_xmit() 549 /* temporarily stop TX queue when the freelist empties */ eth_start_xmit()
|
/linux-4.4.14/drivers/gpu/drm/savage/ |
H A D | savage_bci.c | 280 DRM_ERROR("entry already on freelist.\n"); savage_freelist_put() 875 DRM_ERROR("could not initialize freelist\n"); savage_do_init_bci()
|
/linux-4.4.14/drivers/gpu/drm/mga/ |
H A D | mga_dma.c | 233 DRM_INFO("current freelist:\n"); mga_freelist_print() 916 DRM_ERROR("could not initialize freelist\n"); mga_do_init_dma()
|
/linux-4.4.14/fs/ocfs2/ |
H A D | quota_global.c | 758 * elsewhere by another node while our dquot structure is on freelist. ocfs2_release_dquot() 805 * know what happened with it while it was on freelist. ocfs2_acquire_dquot()
|
/linux-4.4.14/drivers/staging/lustre/lnet/lnet/ |
H A D | lib-msg.c | 584 CERROR("Failed to init freelist for message container\n"); lnet_msg_container_setup()
|
/linux-4.4.14/drivers/gpu/drm/r128/ |
H A D | r128_cce.c | 818 /* FIXME: Optimize -- use freelist code */ r128_freelist_get()
|
/linux-4.4.14/kernel/ |
H A D | audit.c | 138 * being placed on the freelist). */ 174 * locks briefly to get the record off the freelist or to allocate the
|
/linux-4.4.14/fs/ufs/ |
H A D | ufs_fs.h | 190 * blocks which may be free. If the freelist drops below this level
|
/linux-4.4.14/kernel/rcu/ |
H A D | rcutorture.c | 1762 /* Set up the freelist. */ rcu_torture_init()
|
/linux-4.4.14/drivers/staging/lustre/lnet/klnds/socklnd/ |
H A D | socklnd_cb.c | 1490 * noop txs are just put in freelist */ ksocknal_scheduler()
|
/linux-4.4.14/drivers/gpu/drm/radeon/ |
H A D | radeon_cp.c | 1903 * bufs until freelist code is used. Note this hides a problem with
|
/linux-4.4.14/drivers/net/ |
H A D | xen-netfront.c | 1112 /* Skip over entries which are actually freelist references */ xennet_release_tx_bufs()
|
/linux-4.4.14/fs/ocfs2/dlm/ |
H A D | dlmmaster.c | 444 * if this is bad, we can move this to a freelist. */ dlm_mle_release()
|
/linux-4.4.14/drivers/scsi/lpfc/ |
H A D | lpfc_hbadisc.c | 4760 * Check to see if we can free the nlp back to the freelist.
|