Loading block/maple-iosched.c +9 −20 Original line number Diff line number Diff line Loading @@ -17,11 +17,9 @@ #include <linux/module.h> #include <linux/init.h> #include <linux/slab.h> #ifdef CONFIG_POWERSUSPEND #include <linux/powersuspend.h> #endif #include <linux/display_state.h> #define MAPLE_IOSCHED_PATCHLEVEL (5) #define MAPLE_IOSCHED_PATCHLEVEL (6) enum { ASYNC, SYNC }; Loading Loading @@ -80,27 +78,22 @@ maple_add_request(struct request_queue *q, struct request *rq) struct maple_data *mdata = maple_get_data(q); const int sync = rq_is_sync(rq); const int dir = rq_data_dir(rq); static bool display_on = is_display_on(); /* * Add request to the proper fifo list and set its * expire time. */ #ifdef CONFIG_POWERSUSPEND /* inrease expiration when device is asleep */ unsigned int fifo_expire_suspended = mdata->fifo_expire[sync][dir] * sleep_latency_multiple; if (!power_suspended && mdata->fifo_expire[sync][dir]) { if (display_on && mdata->fifo_expire[sync][dir]) { rq_set_fifo_time(rq, jiffies + mdata->fifo_expire[sync][dir]); list_add_tail(&rq->queuelist, &mdata->fifo_list[sync][dir]); } else if (power_suspended && fifo_expire_suspended) { } else if (display_on && fifo_expire_suspended) { rq_set_fifo_time(rq, jiffies + fifo_expire_suspended); list_add_tail(&rq->queuelist, &mdata->fifo_list[sync][dir]); } #else if (mdata->fifo_expire[sync][dir]) { rq_set_fifo_time(rq, jiffies + mdata->fifo_expire[sync][dir]); list_add_tail(&rq->queuelist, &mdata->fifo_list[sync][dir]); } #endif } static struct request * Loading Loading @@ -212,6 +205,7 @@ maple_dispatch_requests(struct request_queue *q, int force) struct maple_data *mdata = maple_get_data(q); struct request *rq = NULL; int data_dir = READ; static bool display_on = is_display_on(); /* * Retrieve any expired request after a batch of Loading @@ -222,16 +216,11 @@ maple_dispatch_requests(struct request_queue *q, int force) /* Retrieve request */ if (!rq) { #ifdef CONFIG_POWERSUSPEND /* Treat writes fairly while suspended, otherwise allow them to be starved */ if (!power_suspended && mdata->starved >= mdata->writes_starved) data_dir = WRITE; else if (power_suspended && mdata->starved >= 1) if (display_on && mdata->starved >= mdata->writes_starved) data_dir = WRITE; #else if (mdata->starved >= mdata->writes_starved) else if (!display_on && mdata->starved >= 1) data_dir = WRITE; #endif rq = maple_choose_request(mdata, data_dir); if (!rq) Loading Loading
block/maple-iosched.c +9 −20 Original line number Diff line number Diff line Loading @@ -17,11 +17,9 @@ #include <linux/module.h> #include <linux/init.h> #include <linux/slab.h> #ifdef CONFIG_POWERSUSPEND #include <linux/powersuspend.h> #endif #include <linux/display_state.h> #define MAPLE_IOSCHED_PATCHLEVEL (5) #define MAPLE_IOSCHED_PATCHLEVEL (6) enum { ASYNC, SYNC }; Loading Loading @@ -80,27 +78,22 @@ maple_add_request(struct request_queue *q, struct request *rq) struct maple_data *mdata = maple_get_data(q); const int sync = rq_is_sync(rq); const int dir = rq_data_dir(rq); static bool display_on = is_display_on(); /* * Add request to the proper fifo list and set its * expire time. */ #ifdef CONFIG_POWERSUSPEND /* inrease expiration when device is asleep */ unsigned int fifo_expire_suspended = mdata->fifo_expire[sync][dir] * sleep_latency_multiple; if (!power_suspended && mdata->fifo_expire[sync][dir]) { if (display_on && mdata->fifo_expire[sync][dir]) { rq_set_fifo_time(rq, jiffies + mdata->fifo_expire[sync][dir]); list_add_tail(&rq->queuelist, &mdata->fifo_list[sync][dir]); } else if (power_suspended && fifo_expire_suspended) { } else if (display_on && fifo_expire_suspended) { rq_set_fifo_time(rq, jiffies + fifo_expire_suspended); list_add_tail(&rq->queuelist, &mdata->fifo_list[sync][dir]); } #else if (mdata->fifo_expire[sync][dir]) { rq_set_fifo_time(rq, jiffies + mdata->fifo_expire[sync][dir]); list_add_tail(&rq->queuelist, &mdata->fifo_list[sync][dir]); } #endif } static struct request * Loading Loading @@ -212,6 +205,7 @@ maple_dispatch_requests(struct request_queue *q, int force) struct maple_data *mdata = maple_get_data(q); struct request *rq = NULL; int data_dir = READ; static bool display_on = is_display_on(); /* * Retrieve any expired request after a batch of Loading @@ -222,16 +216,11 @@ maple_dispatch_requests(struct request_queue *q, int force) /* Retrieve request */ if (!rq) { #ifdef CONFIG_POWERSUSPEND /* Treat writes fairly while suspended, otherwise allow them to be starved */ if (!power_suspended && mdata->starved >= mdata->writes_starved) data_dir = WRITE; else if (power_suspended && mdata->starved >= 1) if (display_on && mdata->starved >= mdata->writes_starved) data_dir = WRITE; #else if (mdata->starved >= mdata->writes_starved) else if (!display_on && mdata->starved >= 1) data_dir = WRITE; #endif rq = maple_choose_request(mdata, data_dir); if (!rq) Loading