Lines Matching refs:level
43 unsigned int level:6; member
303 l_add_tail(q->es, q->qs + e->level, e); in q_push()
313 l_add_head(q->es, q->qs + e->level, e); in q_push_front()
323 l_add_before(q->es, q->qs + e->level, old, e); in q_push_before()
328 l_del(q->es, q->qs + e->level, e); in q_del()
338 unsigned int level; in q_peek() local
343 for (level = 0; level < max_level; level++) in q_peek()
344 for (e = l_head(q->es, q->qs + level); e; e = l_next(q->es, e)) { in q_peek()
373 static struct entry *__redist_pop_from(struct queue *q, unsigned int level) in __redist_pop_from() argument
377 for (; level < q->nr_levels; level++) in __redist_pop_from()
378 for (e = l_head(q->es, q->qs + level); e; e = l_next(q->es, e)) in __redist_pop_from()
380 l_del(q->es, q->qs + e->level, e); in __redist_pop_from()
390 unsigned int level, nr_levels, entries_per_level, remainder; in q_set_targets_subrange_() local
398 for (level = lbegin; level < lend; level++) in q_set_targets_subrange_()
399 q->target_count[level] = in q_set_targets_subrange_()
400 (level < (lbegin + remainder)) ? entries_per_level + 1u : entries_per_level; in q_set_targets_subrange_()
431 unsigned int target, level; in q_redistribute() local
437 for (level = 0u; level < q->nr_levels - 1u; level++) { in q_redistribute()
438 l = q->qs + level; in q_redistribute()
439 target = q->target_count[level]; in q_redistribute()
445 e = __redist_pop_from(q, level + 1u); in q_redistribute()
451 e->level = level; in q_redistribute()
458 l_above = q->qs + level + 1u; in q_redistribute()
466 e->level = level + 1u; in q_redistribute()
477 unsigned int new_level = min(q->nr_levels - 1u, e->level + extra_levels); in q_requeue()
480 if (extra_levels && (e->level < q->nr_levels - 1u)) { in q_requeue()
486 de->level = e->level; in q_requeue()
506 e->level = new_level; in q_requeue()
540 static void stats_level_accessed(struct stats *s, unsigned int level) in stats_level_accessed() argument
542 if (level >= s->hit_threshold) in stats_level_accessed()
724 e->level = 0u; in init_entry()
871 static struct entry *get_sentinel(struct entry_alloc *ea, unsigned int level, bool which) in get_sentinel() argument
873 return get_entry(ea, which ? level : NR_CACHE_LEVELS + level); in get_sentinel()
876 static struct entry *writeback_sentinel(struct smq_policy *mq, unsigned int level) in writeback_sentinel() argument
878 return get_sentinel(&mq->writeback_sentinel_alloc, level, mq->current_writeback_sentinels); in writeback_sentinel()
881 static struct entry *demote_sentinel(struct smq_policy *mq, unsigned int level) in demote_sentinel() argument
883 return get_sentinel(&mq->demote_sentinel_alloc, level, mq->current_demote_sentinels); in demote_sentinel()
888 unsigned int level; in __update_writeback_sentinels() local
892 for (level = 0; level < q->nr_levels; level++) { in __update_writeback_sentinels()
893 sentinel = writeback_sentinel(mq, level); in __update_writeback_sentinels()
901 unsigned int level; in __update_demote_sentinels() local
905 for (level = 0; level < q->nr_levels; level++) { in __update_demote_sentinels()
906 sentinel = demote_sentinel(mq, level); in __update_demote_sentinels()
929 unsigned int level; in __sentinels_init() local
932 for (level = 0; level < NR_CACHE_LEVELS; level++) { in __sentinels_init()
933 sentinel = writeback_sentinel(mq, level); in __sentinels_init()
934 sentinel->level = level; in __sentinels_init()
937 sentinel = demote_sentinel(mq, level); in __sentinels_init()
938 sentinel->level = level; in __sentinels_init()
1015 get_sentinel(&mq->writeback_sentinel_alloc, e->level, !mq->current_writeback_sentinels), in requeue()
1016 get_sentinel(&mq->writeback_sentinel_alloc, e->level, mq->current_writeback_sentinels)); in requeue()
1298 return maybe_promote(hs_e->level >= mq->write_promote_level); in should_promote()
1300 return maybe_promote(hs_e->level >= mq->read_promote_level); in should_promote()
1317 stats_level_accessed(&mq->hotspot_stats, e->level); in update_hotspot_queue()
1387 stats_level_accessed(&mq->cache_stats, e->level); in __lookup()
1482 e->level = NR_CACHE_LEVELS - 1; in __complete_background_work()
1576 e->level = hint_valid ? min(hint, NR_CACHE_LEVELS - 1) : random_level(cblock); in smq_load_mapping()
1611 return e->level; in smq_get_hint()