On 12/10/23 23:40, Damien Le Moal wrote:
On 12/9/23 03:40, Bart Van Assche wrote:
My understanding is that blkcg_set_ioprio() is called from inside submit_bio()
and hence that the reported issue cannot be solved by modifying F2FS. How about
modifying the blk-ioprio policy such that it ignores zoned writes?
I do not see a better solution than that at the moment. So yes, let's do that.
But please add a big comment in the code explaining why we ignore zoned writes.
Hi Damien,
We tested a patch for the blk-ioprio cgroup policy that makes it skip zoned writes.
We noticed that such a patch is not sufficient to prevent unaligned write errors
because some tasks have been assigned an I/O priority via the ionice command
(ioprio_set() system call). I think it would be wrong to skip the assignment of an
I/O priority for zoned writes in all code that can set an I/O priority. Since the
root cause of this issue is the inability of the mq-deadline I/O scheduler to
preserve the order for zoned writes with different I/O priorities, I think this
issue should be fixed in the mq-deadline I/O scheduler.
Thanks,
Bart.