On 5/16/24 03:28, Wu Bo wrote:
Zoned devices request sequential writing on the same zone. That means if 2 requests on the saem zone, the lower pos request need to dispatch to device first. While different priority has it's own tree & list, request with high priority will be disptch first. So if requestA & requestB are on the same zone. RequestA is BE and pos is X+0. ReqeustB is RT and pos is X+1. RequestB will be disptched before requestA, which got an ERROR from zoned device.
This is found in a practice scenario when using F2FS on zoned device. And it is very easy to reproduce:
- Use fsstress to run 8 test processes
- Use ionice to change 4/8 processes to RT priority
Hi Wu,
I agree that there is a problem related to the interaction of I/O priority and zoned storage. A solution with a lower runtime overhead is available here: https://lore.kernel.org/linux-block/20231218211342.2179689-1-bvanassche@acm....
Are you OK with that alternative solution?
Thanks,
Bart.