RE: [PATCH 5/9] PCI: host: brcmstb: add dma-ranges for inbound traffic

From: David Laight
Date: Wed Oct 25 2017 - 05:36:35 EST


From: Jim Quinla
> Sent: 24 October 2017 19:08
...
> Hi David, Christoph was also concerned about this:
>
> "For the block world take a look at __blk_segment_map_sg which does the merging
> of contiguous pages into a single SG segment. You'd have to override
> BIOVEC_PHYS_MERGEABLE to prevent this from happening in your supported
> architectures for the block layer."
>
> Do you consider this a non-issue as well or can this happen and span
> memory regions?

Probably easiest to have an architecture limit on the addresses that
can be merged.

My guess is that this code only really ever merges pages that were
allocated contiguously, but have got converted to a list of VA.
So stopping merging over even 1MB boundaries would have minimal effect
(even if done unconditionally).

I even wonder if the merging is actually worthwhile at all?
Maybe if any code has limits on the SG list length.
(or reducing the number of cache lines the get dirtied...)

David