>The two conditions can go into one if statement to make this a little >more clear. Ah, yeah of course
>And I'd really like to understand the unlikely - amd_iommu_np_cache >is set based on a hardware capability, so it seems rather odd to mark >it unlikely. Dynamic branch prediction really should do the right thing >here usually. Here is the commit which added it without any explanation: https://github.com/torvalds/linux/commit/270cab2426cdc6307725e4f1f46ecf8ab8e69193 should we remove it seen as there's no explanation given ? On Wed, Apr 24, 2019 at 3:32 PM Christoph Hellwig <h...@infradead.org> wrote: > > On Wed, Apr 24, 2019 at 03:18:59PM +0100, Tom Murphy via iommu wrote: > > check if there is a not-present cache present and flush it if there is. > > > > Signed-off-by: Tom Murphy <tmur...@arista.com> > > --- > > drivers/iommu/amd_iommu.c | 6 ++++++ > > 1 file changed, 6 insertions(+) > > > > diff --git a/drivers/iommu/amd_iommu.c b/drivers/iommu/amd_iommu.c > > index f7cdd2ab7f11..8ef43224aae0 100644 > > --- a/drivers/iommu/amd_iommu.c > > +++ b/drivers/iommu/amd_iommu.c > > @@ -1636,6 +1636,12 @@ static int iommu_map_page(struct protection_domain > > *dom, > > pte[i] = __pte; > > > > update_domain(dom); > > + if (!dom->updated) { > > + if (unlikely(amd_iommu_np_cache)) { > > + domain_flush_pages(dom, bus_addr, page_size); > > + domain_flush_complete(dom); > > + } > > + } > > The two conditions can go into one if statement to make this a little > more clear. > > And I'd really like to understand the unlikely - amd_iommu_np_cache > is set based on a hardware capability, so it seems rather odd to mark > it unlikely. Dynamic branch prediction really should do the right thing > here usually. _______________________________________________ iommu mailing list iommu@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/iommu