smq_policy
static void requeue(struct smq_policy *mq, struct entry *e)
static unsigned int default_promote_level(struct smq_policy *mq)
static void update_promote_levels(struct smq_policy *mq)
static void update_level_jump(struct smq_policy *mq)
static void end_hotspot_period(struct smq_policy *mq)
static void end_cache_period(struct smq_policy *mq)
static unsigned int percent_to_target(struct smq_policy *mq, unsigned int p)
static bool clean_target_met(struct smq_policy *mq, bool idle)
static bool free_target_met(struct smq_policy *mq)
static void mark_pending(struct smq_policy *mq, struct entry *e)
static void clear_pending(struct smq_policy *mq, struct entry *e)
static void queue_writeback(struct smq_policy *mq, bool idle)
static void queue_demotion(struct smq_policy *mq)
static void queue_promotion(struct smq_policy *mq, dm_oblock_t oblock,
static enum promote_result should_promote(struct smq_policy *mq, struct entry *hs_e,
static dm_oblock_t to_hblock(struct smq_policy *mq, dm_oblock_t b)
static struct entry *update_hotspot_queue(struct smq_policy *mq, dm_oblock_t b)
static struct smq_policy *to_smq_policy(struct dm_cache_policy *p)
return container_of(p, struct smq_policy, policy);
struct smq_policy *mq = to_smq_policy(p);
static int __lookup(struct smq_policy *mq, dm_oblock_t oblock, dm_cblock_t *cblock,
struct smq_policy *mq = to_smq_policy(p);
struct smq_policy *mq = to_smq_policy(p);
struct smq_policy *mq = to_smq_policy(p);
static void __complete_background_work(struct smq_policy *mq,
struct smq_policy *mq = to_smq_policy(p);
static void __smq_set_clear_dirty(struct smq_policy *mq, dm_cblock_t cblock, bool set)
struct smq_policy *mq = to_smq_policy(p);
struct smq_policy *mq = to_smq_policy(p);
struct smq_policy *mq = to_smq_policy(p);
struct smq_policy *mq = to_smq_policy(p);
struct smq_policy *mq = to_smq_policy(p);
struct smq_policy *mq = to_smq_policy(p);
struct smq_policy *mq = to_smq_policy(p);
struct smq_policy *mq = to_smq_policy(p);
static void init_policy_functions(struct smq_policy *mq, bool mimic_mq)
struct smq_policy *mq = kzalloc_obj(*mq);
static struct entry *writeback_sentinel(struct smq_policy *mq, unsigned int level)
static struct entry *demote_sentinel(struct smq_policy *mq, unsigned int level)
static void __update_writeback_sentinels(struct smq_policy *mq)
static void __update_demote_sentinels(struct smq_policy *mq)
static void update_sentinels(struct smq_policy *mq)
static void __sentinels_init(struct smq_policy *mq)
static void sentinels_init(struct smq_policy *mq)
static void del_queue(struct smq_policy *mq, struct entry *e)
static void push_queue(struct smq_policy *mq, struct entry *e)
static void push(struct smq_policy *mq, struct entry *e)
static void push_queue_front(struct smq_policy *mq, struct entry *e)
static void push_front(struct smq_policy *mq, struct entry *e)
static dm_cblock_t infer_cblock(struct smq_policy *mq, struct entry *e)