elevator.c (aaccf3c97418f169afdbb5855e9cbcbda34e90fd) | elevator.c (bca6b067b0b269a7b8ba129e2a918309ca8b4a55) |
---|---|
1/* 2 * Block device elevator/IO-scheduler. 3 * 4 * Copyright (C) 2000 Andrea Arcangeli <andrea@suse.de> SuSE 5 * 6 * 30042000 Jens Axboe <axboe@kernel.dk> : 7 * 8 * Split the elevator a bit so that it is possible to choose a different --- 27 unchanged lines hidden (view full) --- 36#include <linux/uaccess.h> 37#include <linux/pm_runtime.h> 38#include <linux/blk-cgroup.h> 39 40#include <trace/events/block.h> 41 42#include "blk.h" 43#include "blk-mq-sched.h" | 1/* 2 * Block device elevator/IO-scheduler. 3 * 4 * Copyright (C) 2000 Andrea Arcangeli <andrea@suse.de> SuSE 5 * 6 * 30042000 Jens Axboe <axboe@kernel.dk> : 7 * 8 * Split the elevator a bit so that it is possible to choose a different --- 27 unchanged lines hidden (view full) --- 36#include <linux/uaccess.h> 37#include <linux/pm_runtime.h> 38#include <linux/blk-cgroup.h> 39 40#include <trace/events/block.h> 41 42#include "blk.h" 43#include "blk-mq-sched.h" |
44#include "blk-pm.h" |
|
44#include "blk-wbt.h" 45 46static DEFINE_SPINLOCK(elv_list_lock); 47static LIST_HEAD(elv_list); 48 49/* 50 * Merge hash stuff. 51 */ --- 500 unchanged lines hidden (view full) --- 552 553 if (WARN_ON_ONCE(e->uses_mq)) 554 return; 555 556 if (e->type->ops.sq.elevator_bio_merged_fn) 557 e->type->ops.sq.elevator_bio_merged_fn(q, rq, bio); 558} 559 | 45#include "blk-wbt.h" 46 47static DEFINE_SPINLOCK(elv_list_lock); 48static LIST_HEAD(elv_list); 49 50/* 51 * Merge hash stuff. 52 */ --- 500 unchanged lines hidden (view full) --- 553 554 if (WARN_ON_ONCE(e->uses_mq)) 555 return; 556 557 if (e->type->ops.sq.elevator_bio_merged_fn) 558 e->type->ops.sq.elevator_bio_merged_fn(q, rq, bio); 559} 560 |
560#ifdef CONFIG_PM 561static void blk_pm_requeue_request(struct request *rq) 562{ 563 if (rq->q->dev && !(rq->rq_flags & RQF_PM)) 564 rq->q->nr_pending--; 565} 566 567static void blk_pm_add_request(struct request_queue *q, struct request *rq) 568{ 569 if (q->dev && !(rq->rq_flags & RQF_PM) && q->nr_pending++ == 0 && 570 (q->rpm_status == RPM_SUSPENDED || q->rpm_status == RPM_SUSPENDING)) 571 pm_request_resume(q->dev); 572} 573#else 574static inline void blk_pm_requeue_request(struct request *rq) {} 575static inline void blk_pm_add_request(struct request_queue *q, 576 struct request *rq) 577{ 578} 579#endif 580 | |
581void elv_requeue_request(struct request_queue *q, struct request *rq) 582{ 583 /* 584 * it already went through dequeue, we need to decrement the 585 * in_flight count again 586 */ 587 if (blk_account_rq(rq)) { 588 q->in_flight[rq_is_sync(rq)]--; --- 606 unchanged lines hidden --- | 561void elv_requeue_request(struct request_queue *q, struct request *rq) 562{ 563 /* 564 * it already went through dequeue, we need to decrement the 565 * in_flight count again 566 */ 567 if (blk_account_rq(rq)) { 568 q->in_flight[rq_is_sync(rq)]--; --- 606 unchanged lines hidden --- |