Loading block/blk-wbt.c +6 −5 Original line number Diff line number Diff line Loading @@ -544,6 +544,8 @@ static inline bool may_queue(struct rq_wb *rwb, struct rq_wait *rqw, * the timer to kick off queuing again. */ static void __wbt_wait(struct rq_wb *rwb, unsigned long rw, spinlock_t *lock) __releases(lock) __acquires(lock) { struct rq_wait *rqw = get_rq_wait(rwb, current_is_kswapd()); DEFINE_WAIT(wait); Loading @@ -558,13 +560,12 @@ static void __wbt_wait(struct rq_wb *rwb, unsigned long rw, spinlock_t *lock) if (may_queue(rwb, rqw, &wait, rw)) break; if (lock) if (lock) { spin_unlock_irq(lock); io_schedule(); if (lock) spin_lock_irq(lock); } else io_schedule(); } while (1); finish_wait(&rqw->wait, &wait); Loading Loading
block/blk-wbt.c +6 −5 Original line number Diff line number Diff line Loading @@ -544,6 +544,8 @@ static inline bool may_queue(struct rq_wb *rwb, struct rq_wait *rqw, * the timer to kick off queuing again. */ static void __wbt_wait(struct rq_wb *rwb, unsigned long rw, spinlock_t *lock) __releases(lock) __acquires(lock) { struct rq_wait *rqw = get_rq_wait(rwb, current_is_kswapd()); DEFINE_WAIT(wait); Loading @@ -558,13 +560,12 @@ static void __wbt_wait(struct rq_wb *rwb, unsigned long rw, spinlock_t *lock) if (may_queue(rwb, rqw, &wait, rw)) break; if (lock) if (lock) { spin_unlock_irq(lock); io_schedule(); if (lock) spin_lock_irq(lock); } else io_schedule(); } while (1); finish_wait(&rqw->wait, &wait); Loading