Message ID | 20210401021927.343727-1-ming.lei@redhat.com (mailing list archive) |
---|---|
Headers | show |
Series | block: support bio based io polling | expand |
On Thu, Apr 01, 2021 at 10:19:15AM +0800, Ming Lei wrote: > Hi Jens, > > Add per-task io poll context for holding HIPRI blk-mq/underlying bios > queued from bio based driver's io submission context, and reuse one bio > padding field for storing 'cookie' returned from submit_bio() for these > bios. Also explicitly end these bios in poll context by adding two > new bio flags. > > In this way, we needn't to poll all underlying hw queues any more, > which is implemented in Jeffle's patches. And we can just poll hw queues > in which there is HIPRI IO queued. > > Usually io submission and io poll share same context, so the added io > poll context data is just like one stack variable, and the cost for > saving bios is cheap. > > V5: > - fix one use-after-free issue in case that polling is from another > context: adds one new cookie of BLK_QC_T_NOT_READY for preventing > this issue in patch 8/12 > - add reviewed-by & tested-by tag Hello Guys, Ping... Thanks, Ming -- dm-devel mailing list dm-devel@redhat.com https://listman.redhat.com/mailman/listinfo/dm-devel
Hi Ming, I really struggly to review this series. A lot of the code and especially code organization is really strange. For example a signiciant chunk of the bio based poll logic is added to blk-mq.c where it obviously does not fit in, and a lot of the patches seems to both change blk-mq logic and add new bio based logic. Also the bio poll logic is split over various patches in a way that is absolutel not obvious to me. Can you try to restructure this a bit: - move everything that cleans up or improves existing logic to the beginning of the series and into separate patches (where that isn't already the case) - keep the actual bio polling logic together where the functionality isn't otherwise useful - maybe add a new block/bio-poll.c file to keep all the code togeher? -- dm-devel mailing list dm-devel@redhat.com https://listman.redhat.com/mailman/listinfo/dm-devel