2021-06-18 12:44:49

by John Garry

[permalink] [raw]
Subject: [PATCH v14 1/6] iommu: Deprecate Intel and AMD cmdline methods to enable strict mode

Now that the x86 drivers support iommu.strict, deprecate the custom
methods.

Signed-off-by: John Garry <[email protected]>
Acked-by: Robin Murphy <[email protected]>
---
Documentation/admin-guide/kernel-parameters.txt | 9 ++-------
drivers/iommu/amd/init.c | 4 +++-
drivers/iommu/intel/iommu.c | 1 +
3 files changed, 6 insertions(+), 8 deletions(-)

diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt
index 30e9dd52464e..673952379900 100644
--- a/Documentation/admin-guide/kernel-parameters.txt
+++ b/Documentation/admin-guide/kernel-parameters.txt
@@ -290,10 +290,7 @@
amd_iommu= [HW,X86-64]
Pass parameters to the AMD IOMMU driver in the system.
Possible values are:
- fullflush - enable flushing of IO/TLB entries when
- they are unmapped. Otherwise they are
- flushed before they will be reused, which
- is a lot of faster
+ fullflush - Deprecated, equivalent to iommu.strict=1
off - do not initialize any AMD IOMMU found in
the system
force_isolation - Force device isolation for all
@@ -1948,9 +1945,7 @@
this case, gfx device will use physical address for
DMA.
strict [Default Off]
- With this option on every unmap_single operation will
- result in a hardware IOTLB flush operation as opposed
- to batching them for performance.
+ Deprecated, equivalent to iommu.strict=1.
sp_off [Default Off]
By default, super page will be supported if Intel IOMMU
has the capability. With this option, super page will
diff --git a/drivers/iommu/amd/init.c b/drivers/iommu/amd/init.c
index 46280e6e1535..3a2fb805f11e 100644
--- a/drivers/iommu/amd/init.c
+++ b/drivers/iommu/amd/init.c
@@ -3098,8 +3098,10 @@ static int __init parse_amd_iommu_intr(char *str)
static int __init parse_amd_iommu_options(char *str)
{
for (; *str; ++str) {
- if (strncmp(str, "fullflush", 9) == 0)
+ if (strncmp(str, "fullflush", 9) == 0) {
+ pr_warn("amd_iommu=fullflush deprecated; use iommu.strict=1 instead\n");
amd_iommu_unmap_flush = true;
+ }
if (strncmp(str, "force_enable", 12) == 0)
amd_iommu_force_enable = true;
if (strncmp(str, "off", 3) == 0)
diff --git a/drivers/iommu/intel/iommu.c b/drivers/iommu/intel/iommu.c
index bd93c7ec879e..29497113d748 100644
--- a/drivers/iommu/intel/iommu.c
+++ b/drivers/iommu/intel/iommu.c
@@ -454,6 +454,7 @@ static int __init intel_iommu_setup(char *str)
pr_warn("intel_iommu=forcedac deprecated; use iommu.forcedac instead\n");
iommu_dma_forcedac = true;
} else if (!strncmp(str, "strict", 6)) {
+ pr_warn("intel_iommu=strict deprecated; use iommu.strict=1 instead\n");
pr_info("Disable batched IOTLB flush\n");
intel_iommu_strict = 1;
} else if (!strncmp(str, "sp_off", 6)) {
--
2.26.2


2021-06-18 16:08:47

by Baolu Lu

[permalink] [raw]
Subject: Re: [PATCH v14 1/6] iommu: Deprecate Intel and AMD cmdline methods to enable strict mode

On 2021/6/18 19:34, John Garry wrote:
> Now that the x86 drivers support iommu.strict, deprecate the custom
> methods.
>
> Signed-off-by: John Garry <[email protected]>
> Acked-by: Robin Murphy <[email protected]>
> ---
> Documentation/admin-guide/kernel-parameters.txt | 9 ++-------
> drivers/iommu/amd/init.c | 4 +++-
> drivers/iommu/intel/iommu.c | 1 +
> 3 files changed, 6 insertions(+), 8 deletions(-)
>
> diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt
> index 30e9dd52464e..673952379900 100644
> --- a/Documentation/admin-guide/kernel-parameters.txt
> +++ b/Documentation/admin-guide/kernel-parameters.txt
> @@ -290,10 +290,7 @@
> amd_iommu= [HW,X86-64]
> Pass parameters to the AMD IOMMU driver in the system.
> Possible values are:
> - fullflush - enable flushing of IO/TLB entries when
> - they are unmapped. Otherwise they are
> - flushed before they will be reused, which
> - is a lot of faster
> + fullflush - Deprecated, equivalent to iommu.strict=1
> off - do not initialize any AMD IOMMU found in
> the system
> force_isolation - Force device isolation for all
> @@ -1948,9 +1945,7 @@
> this case, gfx device will use physical address for
> DMA.
> strict [Default Off]
> - With this option on every unmap_single operation will
> - result in a hardware IOTLB flush operation as opposed
> - to batching them for performance.
> + Deprecated, equivalent to iommu.strict=1.
> sp_off [Default Off]
> By default, super page will be supported if Intel IOMMU
> has the capability. With this option, super page will
> diff --git a/drivers/iommu/amd/init.c b/drivers/iommu/amd/init.c
> index 46280e6e1535..3a2fb805f11e 100644
> --- a/drivers/iommu/amd/init.c
> +++ b/drivers/iommu/amd/init.c
> @@ -3098,8 +3098,10 @@ static int __init parse_amd_iommu_intr(char *str)
> static int __init parse_amd_iommu_options(char *str)
> {
> for (; *str; ++str) {
> - if (strncmp(str, "fullflush", 9) == 0)
> + if (strncmp(str, "fullflush", 9) == 0) {
> + pr_warn("amd_iommu=fullflush deprecated; use iommu.strict=1 instead\n");
> amd_iommu_unmap_flush = true;
> + }
> if (strncmp(str, "force_enable", 12) == 0)
> amd_iommu_force_enable = true;
> if (strncmp(str, "off", 3) == 0)
> diff --git a/drivers/iommu/intel/iommu.c b/drivers/iommu/intel/iommu.c
> index bd93c7ec879e..29497113d748 100644
> --- a/drivers/iommu/intel/iommu.c
> +++ b/drivers/iommu/intel/iommu.c
> @@ -454,6 +454,7 @@ static int __init intel_iommu_setup(char *str)
> pr_warn("intel_iommu=forcedac deprecated; use iommu.forcedac instead\n");
> iommu_dma_forcedac = true;
> } else if (!strncmp(str, "strict", 6)) {
> + pr_warn("intel_iommu=strict deprecated; use iommu.strict=1 instead\n");
> pr_info("Disable batched IOTLB flush\n");
> intel_iommu_strict = 1;
> } else if (!strncmp(str, "sp_off", 6)) {
>

Reviewed-by: Lu Baolu <[email protected]>

Best regards,
baolu