cfq-iosched: Fix update_vdisktime logic
PATCH 1/1 cfq-iosched: Fix update_vdisktime logic
The update_vdisktime logic is broken since commit b54ce60eb7f61f8e314b8b241b0469eda3bb1d42, st->min_vdisktime never makes a progress. Fix it.
Thanks Vivek for pointing it out.
--- block/cfq-iosched.c | 6 ++---- 1 files changed, 2 insertions(+), 4 deletions(-)
block/cfq-iosched.c +2 -4
@@ -558,15 +558,13 @@ static inline u64 min_vdisktime(u64 min_vdisktime, u64 vdisktime)static void update_min_vdisktime (struct cfq_rb_root *st) { -u64 vdisktime = st->min_vdisktime;struct cfq_group *cfqg;if (st->left) { cfqg =rb_entry_cfqg (st->left); - vdisktime =min_vdisktime (vdisktime, cfqg->vdisktime); + st->min_vdisktime =max_vdisktime (st->min_vdisktime, + cfqg->vdisktime); } - - st->min_vdisktime =max_vdisktime (st->min_vdisktime, vdisktime); }/*
Signature · 1 line
1.7.1
Quoted 6 lines · Gui Jianfeng
The
update_vdisktimelogic is broken since commitb54ce60eb7f61f8e314b8b241b0469eda3bb1d42,st->min_vdisktimenever makes a progress. Fix it.Thanks Vivek for pointing it out.
Signed-off-by Gui Jianfeng <[email protected]>
Thanks Gui. Looks good to me.
Thanks
Vivek
Quoted 28 lines
--- block/cfq-iosched.c | 6 ++---- 1 files changed, 2 insertions(+), 4 deletions(-)block/cfq-iosched.c +2
-4@@ -558,15 +558,13 @@ static inline u64 min_vdisktime(u64 min_vdisktime, u64 vdisktime)static void update_min_vdisktime (struct cfq_rb_root *st) { -u64 vdisktime = st->min_vdisktime;struct cfq_group *cfqg;if (st->left) { cfqg =rb_entry_cfqg (st->left); - vdisktime =min_vdisktime (vdisktime, cfqg->vdisktime); + st->min_vdisktime =max_vdisktime (st->min_vdisktime, + cfqg->vdisktime); } - - st->min_vdisktime =max_vdisktime (st->min_vdisktime, vdisktime); }/* Signature · 1 line
1.7.1
Quoted 11 lines · Vivek Goyal
Quoted 6 lines · Gui Jianfeng
The
update_vdisktimelogic is broken since commitb54ce60eb7f61f8e314b8b241b0469eda3bb1d42,st->min_vdisktimenever makes a progress. Fix it.Thanks Vivek for pointing it out.
Signed-off-by Gui Jianfeng <[email protected]>Thanks Gui. Looks good to me.
Acked-by Vivek Goyal <[email protected]>
Jens, Would you pick up this fix?
Thanks,
Gui
Quoted 33 lines
Thanks
VivekQuoted 28 lines
--- block/cfq-iosched.c | 6 ++---- 1 files changed, 2 insertions(+), 4 deletions(-)block/cfq-iosched.c +2
-4@@ -558,15 +558,13 @@ static inline u64 min_vdisktime(u64 min_vdisktime, u64 vdisktime)static void update_min_vdisktime (struct cfq_rb_root *st) { -u64 vdisktime = st->min_vdisktime;struct cfq_group *cfqg;if (st->left) { cfqg =rb_entry_cfqg (st->left); - vdisktime =min_vdisktime (vdisktime, cfqg->vdisktime); + st->min_vdisktime =max_vdisktime (st->min_vdisktime, + cfqg->vdisktime); } - - st->min_vdisktime =max_vdisktime (st->min_vdisktime, vdisktime); }/* Signature · 1 line
1.7.1
Jens Axboe
maintainerQuoted 7 lines · Gui Jianfeng
Quoted 6 lines · Vivek Goyal
Quoted 5 lines · Gui Jianfeng
The
update_vdisktimelogic is broken since commitb54ce60eb7f61f8e314b8b241b0469eda3bb1d42,st->min_vdisktimenever makes a progress. Fix it.Thanks Vivek for pointing it out.
Quoted 7 lines
Quoted 5 lines
Quoted 1 line
Signed-off-by Gui Jianfeng <[email protected]>Thanks Gui. Looks good to me.
Acked-by Vivek Goyal <[email protected]>Jens, Would you pick up this fix?
Done, applied. Thanks.
Signature · 1 line
Jens Axboe