Messages in this thread | | | Subject | Re: [PATCH 0/3] zone-append support in aio and io-uring | From | Matias Bjørling <> | Date | Thu, 18 Jun 2020 10:46:48 +0200 |
| |
On 18/06/2020 10.39, Javier González wrote: > On 18.06.2020 10:32, Matias Bjørling wrote: >> On 18/06/2020 10.27, Javier González wrote: >>> On 18.06.2020 10:04, Matias Bjørling wrote: >>>> On 17/06/2020 19.23, Kanchan Joshi wrote: >>>>> This patchset enables issuing zone-append using aio and io-uring >>>>> direct-io interface. >>>>> >>>>> For aio, this introduces opcode IOCB_CMD_ZONE_APPEND. Application >>>>> uses start LBA >>>>> of the zone to issue append. On completion 'res2' field is used to >>>>> return >>>>> zone-relative offset. >>>>> >>>>> For io-uring, this introduces three opcodes: >>>>> IORING_OP_ZONE_APPEND/APPENDV/APPENDV_FIXED. >>>>> Since io_uring does not have aio-like res2, cqe->flags are >>>>> repurposed to return zone-relative offset >>>> >>>> Please provide a pointers to applications that are updated and >>>> ready to take advantage of zone append. >>> >>> Good point. We are posting a RFC with fio support for append. We wanted >>> to start the conversation here before. >>> >>> We can post a fork for improve the reviews in V2. >> >> Christoph's response points that it is not exactly clear how this >> matches with the POSIX API. > > Yes. We will address this. >> >> fio support is great - but I was thinking along the lines of >> applications that not only benchmark performance. fio should be part >> of the supported applications, but should not be the sole reason the >> API is added. > > Agree. It is a process with different steps. We definitely want to have > the right kernel interface before pushing any changes to libraries and / > or applications. These will come as the interface becomes more stable. > > To start with xNVMe will be leveraging this new path. A number of > customers are leveraging the xNVMe API for their applications already.
Heh, let me be even more specific - open-source applications, that is outside of fio (or any other benchmarking application), and libraries that acts as a mediator between two APIs.
| |