Re: [PATCH v5 07/13] block: Add PCI P2P flag for request queue and check support for requests

From: Jens Axboe
Date: Wed Sep 05 2018 - 15:26:59 EST


On 9/3/18 4:26 PM, Logan Gunthorpe wrote:
>
>
> On 01/09/18 02:28 AM, Christoph Hellwig wrote:
>> On Thu, Aug 30, 2018 at 01:11:18PM -0600, Jens Axboe wrote:
>>> I think this belongs in the caller - both the validity check, and
>>> passing in NOMERGE for this type of request. I don't want to impose
>>> this overhead on everything, for a pretty niche case.
>>
>> It is just a single branch, which will be predicted as not taken
>> for non-P2P users. The benefit is that we get proper error checking
>> by doing it in the block code.
>
> I personally agree with Christoph. But if there's consensus in the other
> direction or this is a real blocker moving this forward, I can remove it
> for the next version.

It's a simple branch because the check isn't exhaustive. It just checks
the first page. At that point you may as well just require the caller to
flag the bio/rq as being P2P, and then do a check for P2P compatibility
with the queue.

--
Jens Axboe