mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-11 12:28:41 +08:00
blk-cgroup: move rcu locking from blkcg_bio_issue_check to blk_throtl_bio
The only thing in blkcg_bio_issue_check that needs to be under rcu_read_lock is blk_throtl_bio, so move the locking there. Acked-by: Tejun Heo <tj@kernel.org> Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Jens Axboe <axboe@kernel.dk>
This commit is contained in:
parent
7582f30cc9
commit
93b8063804
@ -2168,7 +2168,7 @@ bool blk_throtl_bio(struct request_queue *q, struct blkcg_gq *blkg,
|
|||||||
bool throttled = false;
|
bool throttled = false;
|
||||||
struct throtl_data *td = tg->td;
|
struct throtl_data *td = tg->td;
|
||||||
|
|
||||||
WARN_ON_ONCE(!rcu_read_lock_held());
|
rcu_read_lock();
|
||||||
|
|
||||||
/* see throtl_charge_bio() */
|
/* see throtl_charge_bio() */
|
||||||
if (bio_flagged(bio, BIO_THROTTLED))
|
if (bio_flagged(bio, BIO_THROTTLED))
|
||||||
@ -2273,6 +2273,7 @@ out:
|
|||||||
if (throttled || !td->track_bio_latency)
|
if (throttled || !td->track_bio_latency)
|
||||||
bio->bi_issue.value |= BIO_ISSUE_THROTL_SKIP_LATENCY;
|
bio->bi_issue.value |= BIO_ISSUE_THROTL_SKIP_LATENCY;
|
||||||
#endif
|
#endif
|
||||||
|
rcu_read_unlock();
|
||||||
return throttled;
|
return throttled;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -546,7 +546,6 @@ static inline bool blkcg_bio_issue_check(struct request_queue *q,
|
|||||||
struct blkcg_gq *blkg = bio->bi_blkg;
|
struct blkcg_gq *blkg = bio->bi_blkg;
|
||||||
bool throtl = false;
|
bool throtl = false;
|
||||||
|
|
||||||
rcu_read_lock();
|
|
||||||
throtl = blk_throtl_bio(q, blkg, bio);
|
throtl = blk_throtl_bio(q, blkg, bio);
|
||||||
if (!throtl) {
|
if (!throtl) {
|
||||||
struct blkg_iostat_set *bis;
|
struct blkg_iostat_set *bis;
|
||||||
@ -582,7 +581,6 @@ static inline bool blkcg_bio_issue_check(struct request_queue *q,
|
|||||||
|
|
||||||
blkcg_bio_issue_init(bio);
|
blkcg_bio_issue_init(bio);
|
||||||
|
|
||||||
rcu_read_unlock();
|
|
||||||
return !throtl;
|
return !throtl;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user