On 1/9/19 12:06 PM, Christoph Hellwig wrote:
>> +struct iocb_submit {
>> + const struct io_uring_iocb *iocb;
>> + unsigned int index;
>> +};
>> +
>> +struct io_work {
>> + struct work_struct work;
>> + struct io_ring_ctx *ctx;
>> + struct io_uring_iocb iocb;
>> + unsigned iocb_index;
>> +};
>
> I think we should use struct iocb_submit everywhere where we pass
> an iocb + index, including in the io_work structure. Here is how
> I did that to my old tree:
>
> http://git.infradead.org/users/hch/misc.git/commitdiff/65929ed6f143a1c996305a10a15fd7f64d32595f
I like that unification.
> Btw, I think we can also remove the separate io_work allocation,
> just do the io_get_req in the submission context, and overlay
> the io_work onto the iocb in a union of some sort. This avoids
> a whole memory allocation.
I'll take a look at that.
--
Jens Axboe