2021-06-11 12:28:20

by John Garry

[permalink] [raw]
Subject: [PATCH v12 1/5] iommu: Print strict or lazy mode at init time

As well as the default domain type, it's useful to know whether strict
or lazy for DMA domains, so add this info in a separate print.

The (stict/lazy) mode may be also set via iommu.strict earlyparm, but
this will be processed prior to iommu_subsys_init(), so that print will be
accurate for drivers which don't set the mode via custom means.

For the drivers which do set the mode via custom means - the AMD and Intel
drivers - they still maintain prints to notify the change in policy.

Signed-off-by: John Garry <[email protected]>
---
drivers/iommu/iommu.c | 5 +++++
1 file changed, 5 insertions(+)

diff --git a/drivers/iommu/iommu.c b/drivers/iommu/iommu.c
index 5419c4b9f27a..cf58949cc2f3 100644
--- a/drivers/iommu/iommu.c
+++ b/drivers/iommu/iommu.c
@@ -138,6 +138,11 @@ static int __init iommu_subsys_init(void)
(iommu_cmd_line & IOMMU_CMD_LINE_DMA_API) ?
"(set via kernel command line)" : "");

+ pr_info("DMA domain TLB invalidation policy: %s mode %s\n",
+ iommu_dma_strict ? "strict" : "lazy",
+ (iommu_cmd_line & IOMMU_CMD_LINE_STRICT) ?
+ "(set via kernel command line)" : "");
+
return 0;
}
subsys_initcall(iommu_subsys_init);
--
2.26.2


2021-06-14 15:55:58

by Robin Murphy

[permalink] [raw]
Subject: Re: [PATCH v12 1/5] iommu: Print strict or lazy mode at init time

On 2021-06-11 13:20, John Garry wrote:
> As well as the default domain type, it's useful to know whether strict
> or lazy for DMA domains, so add this info in a separate print.
>
> The (stict/lazy) mode may be also set via iommu.strict earlyparm, but
> this will be processed prior to iommu_subsys_init(), so that print will be
> accurate for drivers which don't set the mode via custom means.
>
> For the drivers which do set the mode via custom means - the AMD and Intel
> drivers - they still maintain prints to notify the change in policy.

Note that you then start removing said prints later in the series, but
if we repurpose then as deprecation warnings instead as Baolu suggests
then I reckon it all works out OK. Assuming that,

Reviewed-by: Robin Murphy <[email protected]>

> Signed-off-by: John Garry <[email protected]>
> ---
> drivers/iommu/iommu.c | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/drivers/iommu/iommu.c b/drivers/iommu/iommu.c
> index 5419c4b9f27a..cf58949cc2f3 100644
> --- a/drivers/iommu/iommu.c
> +++ b/drivers/iommu/iommu.c
> @@ -138,6 +138,11 @@ static int __init iommu_subsys_init(void)
> (iommu_cmd_line & IOMMU_CMD_LINE_DMA_API) ?
> "(set via kernel command line)" : "");
>
> + pr_info("DMA domain TLB invalidation policy: %s mode %s\n",
> + iommu_dma_strict ? "strict" : "lazy",
> + (iommu_cmd_line & IOMMU_CMD_LINE_STRICT) ?
> + "(set via kernel command line)" : "");
> +
> return 0;
> }
> subsys_initcall(iommu_subsys_init);
>