On Mon, Apr 12, 2021 at 10:26:53AM +0100, Christoph Hellwig wrote: > I don't like where this is going. > > I think the model of storing the polling cookie in the bio is useful, > but: > > (1) I think having this in the iter is a mess. Can you measure if > just marking bvec_iter __packed will generate much worse code > at all anymore? If not we can just move this into the bio Just test with packed 'struct bvec_iter' by running io_uring/libaio over nvme/null_blk with different bs size, not see obvious difference compared with unpacked bvec_iter. So will switch to packed bvec_iter in next version. > If it really generates much worse code I think you need to pick > a different name as as that i really confusing vs the bio field > of the same name that is used entirely differenly. Similarly > the bio_get_private_data and bio_set_private_data helpers are > entirely misnamed, as the names suggest they deal with the > bi_private field in struct bio. I actually suspect not having > these helpers would be much preferable OK, how about naming it as .bi_poll_data? Thanks, Ming