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: 1. Use fsstress to run 8 test processes 2. 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@xxxxxxx/T/#me97b088c535278fe3d1dc5846b388ed58aa53f46 Are you OK with that alternative solution? Thanks, Bart.