[PATCH] hw/arm/smmu-common: Avoid using inlined functions with external linkage

JianChunfu posted 1 patch 12 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20250214072029.515379-1-jansef.jian@hj-micro.com
Maintainers: Eric Auger <eric.auger@redhat.com>, Peter Maydell <peter.maydell@linaro.org>
There is a newer version of this series
hw/arm/smmu-common.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[PATCH] hw/arm/smmu-common: Avoid using inlined functions with external linkage
Posted by JianChunfu 12 months ago
Similarly to commit 9de9fa5c ("hw/arm/smmu-common: Avoid using
inlined functions with external linkage"):

  None of our code base require / use inlined functions with external
  linkage. Some places use internal inlining in the hot path. These
  two functions are certainly not in any hot path and don't justify
  any inlining, so these are likely oversights rather than intentional.

Fixes: b8fa4c23 (hw/arm/smmu: Support nesting in the rest of commands)
Signed-off-by: JianChunfu <jansef.jian@hj-micro.com>
---
 hw/arm/smmu-common.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/hw/arm/smmu-common.c b/hw/arm/smmu-common.c
index 3f8272875..545d763ac 100644
--- a/hw/arm/smmu-common.c
+++ b/hw/arm/smmu-common.c
@@ -298,7 +298,7 @@ void smmu_iotlb_inv_vmid(SMMUState *s, int vmid)
     g_hash_table_foreach_remove(s->iotlb, smmu_hash_remove_by_vmid, &vmid);
 }
 
-inline void smmu_iotlb_inv_vmid_s1(SMMUState *s, int vmid)
+void smmu_iotlb_inv_vmid_s1(SMMUState *s, int vmid)
 {
     trace_smmu_iotlb_inv_vmid_s1(vmid);
     g_hash_table_foreach_remove(s->iotlb, smmu_hash_remove_by_vmid_s1, &vmid);
-- 
2.43.0
Re: [PATCH-for-10.1] hw/arm/smmu-common: Avoid using inlined functions with external linkage
Posted by Philippe Mathieu-Daudé 6 months, 3 weeks ago
Hi,

(sorry for previously missing this patch)

(cc'ing Google folks for 
https://lore.kernel.org/qemu-devel/20250717205735.2345674-1-rkir@google.com/)

On 14/2/25 08:20, JianChunfu wrote:
> Similarly to commit 9de9fa5c ("hw/arm/smmu-common: Avoid using
> inlined functions with external linkage"):
> 
>    None of our code base require / use inlined functions with external
>    linkage. Some places use internal inlining in the hot path. These
>    two functions are certainly not in any hot path and don't justify
>    any inlining, so these are likely oversights rather than intentional.
> 
> Fixes: b8fa4c23 (hw/arm/smmu: Support nesting in the rest of commands)

I suppose b8fa4c233bd was copy/pasted before 0b796f38106 ("hw/arm/smmu:
Avoid using inlined functions with external linkage again").

> Signed-off-by: JianChunfu <jansef.jian@hj-micro.com>

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>

> ---
>   hw/arm/smmu-common.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/hw/arm/smmu-common.c b/hw/arm/smmu-common.c
> index 3f8272875..545d763ac 100644
> --- a/hw/arm/smmu-common.c
> +++ b/hw/arm/smmu-common.c
> @@ -298,7 +298,7 @@ void smmu_iotlb_inv_vmid(SMMUState *s, int vmid)
>       g_hash_table_foreach_remove(s->iotlb, smmu_hash_remove_by_vmid, &vmid);
>   }
>   
> -inline void smmu_iotlb_inv_vmid_s1(SMMUState *s, int vmid)
> +void smmu_iotlb_inv_vmid_s1(SMMUState *s, int vmid)
>   {
>       trace_smmu_iotlb_inv_vmid_s1(vmid);
>       g_hash_table_foreach_remove(s->iotlb, smmu_hash_remove_by_vmid_s1, &vmid);


Re: [PATCH-for-10.1] hw/arm/smmu-common: Avoid using inlined functions with external linkage
Posted by Roman Kiryanov 6 months, 2 weeks ago
Hi Philippe, thank you for looking into this.

On Thu, Jul 17, 2025 at 11:11 PM Philippe Mathieu-Daudé
<philmd@linaro.org> wrote:
>
> (sorry for previously missing this patch)
>
> (cc'ing Google folks for
> https://lore.kernel.org/qemu-devel/20250717205735.2345674-1-rkir@google.com/)

Will this patch be included into 10.1?

> On 14/2/25 08:20, JianChunfu wrote:
> > Similarly to commit 9de9fa5c ("hw/arm/smmu-common: Avoid using
> > inlined functions with external linkage"):
> >
> >    None of our code base require / use inlined functions with external
> >    linkage. Some places use internal inlining in the hot path. These
> >    two functions are certainly not in any hot path and don't justify
> >    any inlining, so these are likely oversights rather than intentional.
> >
> > Fixes: b8fa4c23 (hw/arm/smmu: Support nesting in the rest of commands)
>
> I suppose b8fa4c233bd was copy/pasted before 0b796f38106 ("hw/arm/smmu:
> Avoid using inlined functions with external linkage again").
>
> > Signed-off-by: JianChunfu <jansef.jian@hj-micro.com>
>
> Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
> Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Re: [PATCH-for-10.1] hw/arm/smmu-common: Avoid using inlined functions with external linkage
Posted by Peter Maydell 6 months, 2 weeks ago
On Thu, 24 Jul 2025 at 17:54, Roman Kiryanov <rkir@google.com> wrote:
>
> Hi Philippe, thank you for looking into this.
>
> On Thu, Jul 17, 2025 at 11:11 PM Philippe Mathieu-Daudé
> <philmd@linaro.org> wrote:
> >
> > (sorry for previously missing this patch)
> >
> > (cc'ing Google folks for
> > https://lore.kernel.org/qemu-devel/20250717205735.2345674-1-rkir@google.com/)
>
> Will this patch be included into 10.1?

Yes, I'll pick it up for target-arm.next; thanks.

-- PMM