On 9/5/18 3:03 PM, Logan Gunthorpe wrote: > > > 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. I'm very sure that something that basic will be caught in review. I don't care if you wrap the submission or just require the caller to call some validity helper check first, fwiw. And I think we're done beating the dead horse at this point. -- Jens Axboe