block/mq-deadline.c | 24 +++++++++++------------- 1 file changed, 11 insertions(+), 13 deletions(-)
From: chengkaitao <chengkaitao@kylinos.cn>
Remove redundant DD_PRIO_MAX and enum types, Move DD_PRIO_COUNT
into enum dd_prio{}, and similarly for DD_DIR_COUNT.
Signed-off-by: chengkaitao <chengkaitao@kylinos.cn>
---
block/mq-deadline.c | 24 +++++++++++-------------
1 file changed, 11 insertions(+), 13 deletions(-)
diff --git a/block/mq-deadline.c b/block/mq-deadline.c
index b9b7cdf1d3c9..f1facbdf85c1 100644
--- a/block/mq-deadline.c
+++ b/block/mq-deadline.c
@@ -41,19 +41,17 @@ static const int fifo_batch = 16; /* # of sequential requests treated as o
enum dd_data_dir {
DD_READ = READ,
DD_WRITE = WRITE,
+ DD_DIR_COUNT = 2
};
-enum { DD_DIR_COUNT = 2 };
-
+/* Ensure that "DD_RT_PRIO < DD_BE_PRIO < DD_IDLE_PRIO" */
enum dd_prio {
- DD_RT_PRIO = 0,
- DD_BE_PRIO = 1,
- DD_IDLE_PRIO = 2,
- DD_PRIO_MAX = 2,
+ DD_RT_PRIO,
+ DD_BE_PRIO,
+ DD_IDLE_PRIO,
+ DD_PRIO_COUNT
};
-enum { DD_PRIO_COUNT = 3 };
-
/*
* I/O statistics per I/O priority. It is fine if these counters overflow.
* What matters is that these counters are at least as wide as
@@ -441,7 +439,7 @@ static struct request *dd_dispatch_prio_aged_requests(struct deadline_data *dd,
if (prio_cnt < 2)
return NULL;
- for (prio = DD_BE_PRIO; prio <= DD_PRIO_MAX; prio++) {
+ for (prio = DD_BE_PRIO; prio < DD_PRIO_COUNT; prio++) {
rq = __dd_dispatch_request(dd, &dd->per_prio[prio],
now - dd->prio_aging_expire);
if (rq)
@@ -475,7 +473,7 @@ static struct request *dd_dispatch_request(struct blk_mq_hw_ctx *hctx)
* Next, dispatch requests in priority order. Ignore lower priority
* requests if any higher priority requests are pending.
*/
- for (prio = 0; prio <= DD_PRIO_MAX; prio++) {
+ for (prio = 0; prio < DD_PRIO_COUNT; prio++) {
rq = __dd_dispatch_request(dd, &dd->per_prio[prio], now);
if (rq || dd_queued(dd, prio))
break;
@@ -530,7 +528,7 @@ static void dd_exit_sched(struct elevator_queue *e)
struct deadline_data *dd = e->elevator_data;
enum dd_prio prio;
- for (prio = 0; prio <= DD_PRIO_MAX; prio++) {
+ for (prio = 0; prio < DD_PRIO_COUNT; prio++) {
struct dd_per_prio *per_prio = &dd->per_prio[prio];
const struct io_stats_per_prio *stats = &per_prio->stats;
uint32_t queued;
@@ -565,7 +563,7 @@ static int dd_init_sched(struct request_queue *q, struct elevator_queue *eq)
eq->elevator_data = dd;
- for (prio = 0; prio <= DD_PRIO_MAX; prio++) {
+ for (prio = 0; prio < DD_PRIO_COUNT; prio++) {
struct dd_per_prio *per_prio = &dd->per_prio[prio];
INIT_LIST_HEAD(&per_prio->dispatch);
@@ -748,7 +746,7 @@ static bool dd_has_work(struct blk_mq_hw_ctx *hctx)
struct deadline_data *dd = hctx->queue->elevator->elevator_data;
enum dd_prio prio;
- for (prio = 0; prio <= DD_PRIO_MAX; prio++)
+ for (prio = 0; prio < DD_PRIO_COUNT; prio++)
if (dd_has_work_for_prio(&dd->per_prio[prio]))
return true;
--
2.39.5 (Apple Git-154)
On 9/15/25 6:06 AM, chengkaitao wrote: > Remove redundant DD_PRIO_MAX and enum types, Move DD_PRIO_COUNT > into enum dd_prio{}, and similarly for DD_DIR_COUNT. Why has this patch been reposted? Last time it was posted I explained in detail that in my opinion all changes in this patch makes the code worse instead of better. Additionally, when a new version of a patch is posted, it should include a changelog. I don't see a changelog in this patch. Please drop this patch. Bart.
On Mon, Sep 15, 2025 at 11:59 PM Bart Van Assche <bvanassche@acm.org> wrote: > > On 9/15/25 6:06 AM, chengkaitao wrote: > > Remove redundant DD_PRIO_MAX and enum types, Move DD_PRIO_COUNT > > into enum dd_prio{}, and similarly for DD_DIR_COUNT. > > Why has this patch been reposted? Last time it was posted I explained in > detail that in my opinion all changes in this patch makes the code worse > instead of better. Additionally, when a new version of a patch is > posted, it should include a changelog. I don't see a changelog in this > patch. Please drop this patch. > Regarding your comments on the previous patch, I have also provided a detailed response. However, since I did not receive a reply for an extended period, I am resubmitting it in hopes of continuing the discussion. This patch is simply a repost with no substantial updates. The link to my previous response is as follows. https://lore.kernel.org/all/CAAWJmAbumBHVo-8neC+b8WqJzzLbWqARpc3vkBsgs9j08wh3kA@mail.gmail.com/ -- Yours, Kaitao Cheng
© 2016 - 2025 Red Hat, Inc.