static void smq_tick(struct dm_cache_policy *p, bool can_block) { struct smq_policy *mq = to_smq_policy(p); unsigned long flags; spin_lock_irqsave(&mq->lock, flags); mq->tick++; update_sentinels(mq); end_hotspot_period(mq); end_cache_period(mq); spin_unlock_irqrestore(&mq->lock, flags); }
static void copy_tick(struct smq_policy *mq) { unsigned long flags, tick; spin_lock_irqsave(&mq->tick_lock, flags); tick = mq->tick_protected; if (tick != mq->tick) { update_sentinels(mq); end_hotspot_period(mq); end_cache_period(mq); mq->tick = tick; } spin_unlock_irqrestore(&mq->tick_lock, flags); }