Hello Jinke. On Mon, Dec 26, 2022 at 09:05:05PM +0800, Jinke Han <hanjinke.666@xxxxxxxxxxxxx> wrote: > In our test, fio writes a 100g file in sequential 4k blocksize in > a container with low bps limit configured (wbps=10M). > [...] > At the same time, the operation of saving a small file by vim will be > blocked amolst 140s. Could you please elaborate why is this specific to blk-throtl? I guess similar problem would arise for devices that are "naturally" slow. Then: a) it must have been solved elsewhere in the block layer (but it's broken), b) it should be solved generically in the block layer (thus this is only a partial solution). Alternatively, I imagine your problem could be reduced with corresponding memory limits on IO-constrained cgroups. (The memory limit would increase cgwb's dirty throttling and consequently leaves more IO bandwidth for sync IOs.) Could you describe how the submitted solution compares to memory limiting? > This patch splits bio queue into sync and async queues for blk-throtl > and gives a huge priority to sync write ios. The "huge priority" corresponds to the THROTL_SYNC_FACTOR, right? I'm slightly concerned about the introduction of the magical value. What is the reasoning behind this? (E.g. I'd expect 1:1 could work as well, while 1:4 suggests this is somehow better (empirically?).) Thanks, Michal
Attachment:
signature.asc
Description: Digital signature