On 8/5/22 11:13 AM, Kanchan Joshi wrote: > On Fri, Aug 05, 2022 at 11:04:22AM -0600, Jens Axboe wrote: >> On 8/5/22 9:42 AM, Kanchan Joshi wrote: >>> Hi, >>> >>> Series enables async polling on io_uring command, and nvme passthrough >>> (for io-commands) is wired up to leverage that. >>> >>> 512b randread performance (KIOP) below: >>> >>> QD_batch block passthru passthru-poll block-poll >>> 1_1 80 81 158 157 >>> 8_2 406 470 680 700 >>> 16_4 620 656 931 920 >>> 128_32 879 1056 1120 1132 >> >> Curious on why passthru is slower than block-poll? Are we missing >> something here? > passthru-poll vs block-poll you mean? > passthru does not have bio-cache, while block path is running with that. > Maybe completion-batching is also playing some role, not too sure about that > at the moment. Yeah, see other email on a quick rundown. We should make bio_map_user_iov() use the bio caching, that'd make a big difference. Won't fully close the gap, but will be close if we exclude the lack of fixedbufs. -- Jens Axboe