On 05/09/18 02:36 PM, Jens Axboe wrote: > On 9/5/18 2:32 PM, Logan Gunthorpe wrote: >> >> >> On 05/09/18 02:19 PM, Jens Axboe wrote: >>> On 9/5/18 2:18 PM, Logan Gunthorpe wrote: >>>> >>>> >>>> On 05/09/18 02:14 PM, Jens Axboe wrote: >>>>> But if the caller must absolutely know where the bio will end up, then >>>>> it seems super redundant. So I'd vote for killing this check, it buys >>>>> us absolutely nothing and isn't even exhaustive in its current form. >>>> >>>> >>>> Ok, I'll remove it for v6. >>> >>> Since the drivers needs to know it's doing it right, it might not >>> hurt to add a sanity check helper for that. Just have the driver >>> call it, and don't add it in the normal IO submission path. >> >> I'm not sure I really see the value in that. It's the same principle in >> asking the driver to do the WARN: if the developer knew enough to use >> the special helper, they probably knew well enough to do the rest correctly. > > I don't agree with that at all. It's a "is my request valid" helper, > it's not some obscure and rarely used functionality. You're making up > this API right now, if you really want it done for every IO, make it > part of the p2p submission process. You could even hide it behind a > debug thing, if you like. There is no special p2p submission process. In the nvme-of case we are using the existing process and with the code in blk-core it didn't change it's process at all. Creating a helper will create one and I can look at making a pci_p2pdma_submit_bio() for v6; but if the developer screws up and still calls the regular submit_bio() things will only be very subtly broken and that won't be obvious. Logan