On 3/22/25 11:40 AM, Jens Axboe wrote: > > On Sat, 22 Mar 2025 09:26:09 +0800, Ming Lei wrote: >> This patchset improves loop aio perf by using IOCB_NOWAIT for avoiding to >> queue aio >> command to workqueue context, meantime refactor lo_rw_aio() a bit. >> >> In my test VM, loop disk perf becomes very close to perf of the backing block >> device(nvme/mq virtio-scsi). >> >> And Mikulas verified that this way can improve 12jobs sequential rw io by >> ~5X, and basically solve the reported problem together with loop MQ change. >> >> [...] > > Applied, thanks! > > [1/5] loop: simplify do_req_filebacked() > commit: 04dcb8a909b5b68464ec5ccb123e9614f3ac333d > [2/5] loop: cleanup lo_rw_aio() > commit: 832c9fec8e2314170c5451023565b94f05477aa7 > [3/5] loop: move command blkcg/memcg initialization into loop_queue_work > commit: a23d34a31758000b2b158288226bf24f96d8864d > [4/5] loop: try to handle loop aio command via NOWAIT IO first > commit: dfc77a934a3acdb13dadf237b7417c6a31b19da8 > [5/5] loop: add hint for handling aio via IOCB_NOWAIT > commit: 4c3f4bad7a6e9022489a9f8392f7147ed3ce74b1
Just a heads-up that I had applied this for testing, not necessarily to get included. To clear up that confusion, I have retained patches 1-3 for now, and then we can queue up 4-5/5 later when everybody is happy with them. -- Jens Axboe