cgroup: Also set io.bfq.weight#13335
Conversation
|
hmm, i wa sof the impression the kernel folks will fix this for us. i.e. by adding a symlink so that userspace doesn't has to be adjusted to any frickin elevator the kernel folks add. @htejun what's the status quo on this, do you know? i really hope that we don't need kludges like this in userspace in the long run, to work around differences between different elevators from userspace? |
|
/cc @cdown |
|
/cc @paolo-github |
|
At least as of now, the interfaces are incompatible: I just submitted this patch because I'm using it locally to fix it for me and wanted to give others the chance to benefit from it, but also hoping it could become an official interim solution until the kernel adopted a proper unified interface for both. |
|
Il giorno 19 ago 2019, alle ore 12:53, Kai Krakow ***@***.***> ha scritto:
At least as of now, the interfaces are incompatible: io.bfq.weight only knows a single numeric value and cannot support per-device settings as io.weight does. A symlink wouldn't work. Not sure how you guys want to continue from here...
Already solved by a patch series submitted by Fam Zheng two weeks ago [1].
The series is a port of the code doing the same thing in the old
CFQ I/O scheduler. I didn't find any flaw. I guess maintainers
will check it soon.
[1] https://lkml.org/lkml/2019/8/5/83
I just submitted this patch because I'm using it locally to fix it for me and wanted to give others the chance to benefit from it, but also hoping it could become an official interim solution until the kernel adopted a proper unified interface for both.
Luckily, only an "applied, thanks" is missing.
Thanks,
Paolo
… —
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.
|
|
So this patch needs to be amended as soon as the kernel patch is merged? |
|
@paolo-github but what does that mean for the userspace-facing API? Are you saying that in a kernel not so far off both the cfq and the bfq scheduler will expose the same set of cgroup attributes so that userspace doesn't have to care anymore? |
|
Il giorno 19 ago 2019, alle ore 15:37, Lennart Poettering ***@***.***> ha scritto:
@paolo-github but what does that mean for the userspace-facing API? Are you saying that in a kernel not so far off both the cfq and the bfq scheduler will expose the same set of cgroup attributes so that userspace doesn't have to care anymore?
Exactly. Still, don't forget that there is no cfq any longer, since 5.0.
Thanks,
Paolo
… —
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.
|
So |
|
Il giorno 19 ago 2019, alle ore 16:36, Kai Krakow ***@***.***> ha scritto:
@paolo-github but what does that mean for the userspace-facing API? Are you saying that in a kernel not so far off both the cfq and the bfq scheduler will expose the same set of cgroup attributes so that userspace doesn't have to care anymore?
Exactly. Still, don't forget that there is no cfq any longer, since 5.0. Thanks, Paolo
So io.bfq.weight goes away anyways and io.weigth takes over for bfq? Or in other words: I can drop this patch once machines are migrated to 5.0 or later...
Once (and if) maintainers accept Fam's patch, and keep their word on accepting this unification after accepting the patch. According to facts and claims, it should be just a matter of official steps.
… —
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.
|
|
@paolo-github ok, so which kernel version would you estimate if all goes well this is solved in? |
|
5.4, if maintainers reply in a reasonable time (the path has been out for 15 days).
… Il giorno 19 ago 2019, alle ore 16:45, Lennart Poettering ***@***.***> ha scritto:
@paolo-github ok, so which kernel version would you estimate if all goes well this is solved in?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.
|
So, for the record:
|
|
Then it looks like we should merge this... If the patch works, it will make things better until kernel 5.4. For many users that means maybe a year. |
The nice thing is: If newer kernels drop |
|
Yes please. |
Current kernels with BFQ scheduler do not yet set their IO weight through "io.weight" but through "io.bfq.weight" (using a slightly different interface supporting only default weights, not per-device weights). This commit enables "IOWeight=" to just to that. This patch may be dropped at some time later. Github-Link: systemd#7057 Signed-off-by: Kai Krakow <kai@kaishome.de>
2f45352 to
21221ce
Compare
Ok, here we go. Please check, hope all is fine. I also touched the NEWS file. EDIT: Hmm, maybe better split in two patches? So NEWS doesn't become accidentally reverted at some time later? |
|
LGTM, but let's wait for @poettering's opinion too. |
|
This pull request introduces 1 alert when merging 21221ce into 06e9313 - view on LGTM.com new alerts:
|
|
i must say, I am not a fan at all of compat kludges like this one, I would prefer to just sit this one out, since stopgaps like this tend to just stay in the code forever... But OK. |
|
@poettering I'll put a reminder into my calendar for checking this again in a year to take care of it. |
|
Hi, I've run out of options, apart from waiting. If someone wants to make their voice heard, in that thread or in a new one, that would be more than welcome. I also welcome any other suggestions. |
|
@paolo-github so, whtat's the latest on this? will this ever be resolved on the kernel side? |
|
I'm not sure why this setting still exists separately anyways as cfq seems to be gone and replaced by bfq as the standard multiqueue scheduler, correct? I'm not sure if the other schedulers (mq-deadline, kyber etc) even support IO weights. |
|
Sorry for missing this old message. No other I/O scheduler than BFQ supports weights.
… Il giorno 10 dic 2020, alle ore 12:30, Kai Krakow ***@***.***> ha scritto:
I'm not sure why this setting still exists separately anyways as cfq seems to be gone and replaced by bfq as the standard multiqueue scheduler, correct? I'm not sure if the other schedulers (mq-deadline, kyber etc) even support IO weights.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.
|
Github-Link: #7057
Signed-off-by: Kai Krakow kai@kaishome.de