Re: [PATCH 1/2 v2] dma-iommu: use static-key to minimize the impact in the fast-path
From: Robin Murphy
Date: Tue Jan 19 2021 - 10:55:53 EST
On 2021-01-19 15:26, Christoph Hellwig wrote:
On Tue, Jan 19, 2021 at 07:16:15PM +0800, Lianbo Jiang wrote:
+static DEFINE_STATIC_KEY_FALSE(__deferred_attach);
Why the strange underscores? Wouldn't iommu_deferred_attach_enabled
be a better name?
- if (unlikely(iommu_dma_deferred_attach(dev, domain)))
+ if (static_branch_unlikely(&__deferred_attach) &&
+ iommu_dma_deferred_attach(dev, domain))
Also insted of duplicating this logic in three places, maybe rename
iommu_dma_deferred_attach to __iommu_dma_deferred_attach and create
a small inline wrapper for it?
Once patch #2 is in place, I really don't see any point. The "helper"
would add a minimum of 5 lines to save at most 3, and would have to be
annotated as always_inline - which a whole other camp of people would
probably object to - in order for the static branch to be properly useful.
It's not as if this is a complex or hard-to-read expression, so IMO
having 3 lines repeated 3 times is objectively better than having 2
lines necessarily repeated 3 times plus having to scroll up and find
several more lines to follow what it's doing.
Robin.