iommu.lists.linux-foundation.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 1/1] iommu/vt-d: Add Kconfig option to enable/disable scalable mode
@ 2019-11-09  3:40 Lu Baolu
  2019-11-09  3:59 ` Qian Cai
  2019-11-11  2:58 ` Qian Cai
  0 siblings, 2 replies; 9+ messages in thread
From: Lu Baolu @ 2019-11-09  3:40 UTC (permalink / raw)
  To: Joerg Roedel, David Woodhouse
  Cc: kevin.tian, ashok.raj, linux-kernel, iommu, jacob.jun.pan

This adds Kconfig option INTEL_IOMMU_SCALABLE_MODE_DEFAULT_ON
to make it easier for distributions to enable or disable the
Intel IOMMU scalable mode by default during kernel build.

Signed-off-by: Lu Baolu <baolu.lu@linux.intel.com>
---
 drivers/iommu/Kconfig       | 9 +++++++++
 drivers/iommu/intel-iommu.c | 7 ++++++-
 2 files changed, 15 insertions(+), 1 deletion(-)

diff --git a/drivers/iommu/Kconfig b/drivers/iommu/Kconfig
index e3842eabcfdd..fbdf3fd291d9 100644
--- a/drivers/iommu/Kconfig
+++ b/drivers/iommu/Kconfig
@@ -242,6 +242,15 @@ config INTEL_IOMMU_FLOPPY_WA
 	  workaround will setup a 1:1 mapping for the first
 	  16MiB to make floppy (an ISA device) work.
 
+config INTEL_IOMMU_SCALABLE_MODE_DEFAULT_ON
+	prompt "Enable Intel IOMMU scalable mode by default"
+	depends on INTEL_IOMMU
+	help
+	  Selecting this option will enable the scalable mode if
+	  hardware presents the capability. If this option is not
+	  selected, scalable mode support could also be enabled
+	  by passing intel_iommu=sm_on to the kernel.
+
 config IRQ_REMAP
 	bool "Support for Interrupt Remapping"
 	depends on X86_64 && X86_IO_APIC && PCI_MSI && ACPI
diff --git a/drivers/iommu/intel-iommu.c b/drivers/iommu/intel-iommu.c
index 6db6d969e31c..6051fe790c61 100644
--- a/drivers/iommu/intel-iommu.c
+++ b/drivers/iommu/intel-iommu.c
@@ -355,9 +355,14 @@ static phys_addr_t intel_iommu_iova_to_phys(struct iommu_domain *domain,
 int dmar_disabled = 0;
 #else
 int dmar_disabled = 1;
-#endif /*CONFIG_INTEL_IOMMU_DEFAULT_ON*/
+#endif /* CONFIG_INTEL_IOMMU_DEFAULT_ON */
 
+#ifdef INTEL_IOMMU_SCALABLE_MODE_DEFAULT_ON
+int intel_iommu_sm = 1;
+#else
 int intel_iommu_sm;
+#endif /* INTEL_IOMMU_SCALABLE_MODE_DEFAULT_ON */
+
 int intel_iommu_enabled = 0;
 EXPORT_SYMBOL_GPL(intel_iommu_enabled);
 
-- 
2.17.1

_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* Re: [PATCH v2 1/1] iommu/vt-d: Add Kconfig option to enable/disable scalable mode
  2019-11-09  3:40 [PATCH v2 1/1] iommu/vt-d: Add Kconfig option to enable/disable scalable mode Lu Baolu
@ 2019-11-09  3:59 ` Qian Cai
  2019-11-11  1:27   ` Lu Baolu
  2019-11-11  2:58 ` Qian Cai
  1 sibling, 1 reply; 9+ messages in thread
From: Qian Cai @ 2019-11-09  3:59 UTC (permalink / raw)
  To: Lu Baolu
  Cc: kevin.tian, ashok.raj, linux-kernel, iommu, jacob.jun.pan,
	David Woodhouse



> On Nov 8, 2019, at 10:40 PM, Lu Baolu <baolu.lu@linux.intel.com> wrote:
> 
> This adds Kconfig option INTEL_IOMMU_SCALABLE_MODE_DEFAULT_ON
> to make it easier for distributions to enable or disable the
> Intel IOMMU scalable mode by default during kernel build.
> 
> Signed-off-by: Lu Baolu <baolu.lu@linux.intel.com>
> ---
> drivers/iommu/Kconfig       | 9 +++++++++
> drivers/iommu/intel-iommu.c | 7 ++++++-
> 2 files changed, 15 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/iommu/Kconfig b/drivers/iommu/Kconfig
> index e3842eabcfdd..fbdf3fd291d9 100644
> --- a/drivers/iommu/Kconfig
> +++ b/drivers/iommu/Kconfig
> @@ -242,6 +242,15 @@ config INTEL_IOMMU_FLOPPY_WA
> 	  workaround will setup a 1:1 mapping for the first
> 	  16MiB to make floppy (an ISA device) work.
> 
> +config INTEL_IOMMU_SCALABLE_MODE_DEFAULT_ON
> +	prompt "Enable Intel IOMMU scalable mode by default"
> +	depends on INTEL_IOMMU
> +	help
> +	  Selecting this option will enable the scalable mode if
> +	  hardware presents the capability. If this option is not
> +	  selected, scalable mode support could also be enabled
> +	  by passing intel_iommu=sm_on to the kernel.


Maybe a sentence or two to describe what the scalable mode is in layman's
terms could be useful, so developers don’t need to search around for the
Kconfig selection?

> +
> config IRQ_REMAP
> 	bool "Support for Interrupt Remapping"
> 	depends on X86_64 && X86_IO_APIC && PCI_MSI && ACPI
> diff --git a/drivers/iommu/intel-iommu.c b/drivers/iommu/intel-iommu.c
> index 6db6d969e31c..6051fe790c61 100644
> --- a/drivers/iommu/intel-iommu.c
> +++ b/drivers/iommu/intel-iommu.c
> @@ -355,9 +355,14 @@ static phys_addr_t intel_iommu_iova_to_phys(struct iommu_domain *domain,
> int dmar_disabled = 0;
> #else
> int dmar_disabled = 1;
> -#endif /*CONFIG_INTEL_IOMMU_DEFAULT_ON*/
> +#endif /* CONFIG_INTEL_IOMMU_DEFAULT_ON */
> 
> +#ifdef INTEL_IOMMU_SCALABLE_MODE_DEFAULT_ON
> +int intel_iommu_sm = 1;
> +#else
> int intel_iommu_sm;
> +#endif /* INTEL_IOMMU_SCALABLE_MODE_DEFAULT_ON */
> +
> int intel_iommu_enabled = 0;
> EXPORT_SYMBOL_GPL(intel_iommu_enabled);
> 
> -- 
> 2.17.1
> 
> _______________________________________________
> iommu mailing list
> iommu@lists.linux-foundation.org
> https://lists.linuxfoundation.org/mailman/listinfo/iommu

_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH v2 1/1] iommu/vt-d: Add Kconfig option to enable/disable scalable mode
  2019-11-09  3:59 ` Qian Cai
@ 2019-11-11  1:27   ` Lu Baolu
  2019-11-11  2:00     ` Qian Cai
  0 siblings, 1 reply; 9+ messages in thread
From: Lu Baolu @ 2019-11-11  1:27 UTC (permalink / raw)
  To: Qian Cai
  Cc: kevin.tian, ashok.raj, linux-kernel, iommu, jacob.jun.pan,
	David Woodhouse

Hi,

On 11/9/19 11:59 AM, Qian Cai wrote:
> 
> 
>> On Nov 8, 2019, at 10:40 PM, Lu Baolu <baolu.lu@linux.intel.com> wrote:
>>
>> This adds Kconfig option INTEL_IOMMU_SCALABLE_MODE_DEFAULT_ON
>> to make it easier for distributions to enable or disable the
>> Intel IOMMU scalable mode by default during kernel build.
>>
>> Signed-off-by: Lu Baolu <baolu.lu@linux.intel.com>
>> ---
>> drivers/iommu/Kconfig       | 9 +++++++++
>> drivers/iommu/intel-iommu.c | 7 ++++++-
>> 2 files changed, 15 insertions(+), 1 deletion(-)
>>
>> diff --git a/drivers/iommu/Kconfig b/drivers/iommu/Kconfig
>> index e3842eabcfdd..fbdf3fd291d9 100644
>> --- a/drivers/iommu/Kconfig
>> +++ b/drivers/iommu/Kconfig
>> @@ -242,6 +242,15 @@ config INTEL_IOMMU_FLOPPY_WA
>> 	  workaround will setup a 1:1 mapping for the first
>> 	  16MiB to make floppy (an ISA device) work.
>>
>> +config INTEL_IOMMU_SCALABLE_MODE_DEFAULT_ON
>> +	prompt "Enable Intel IOMMU scalable mode by default"
>> +	depends on INTEL_IOMMU
>> +	help
>> +	  Selecting this option will enable the scalable mode if
>> +	  hardware presents the capability. If this option is not
>> +	  selected, scalable mode support could also be enabled
>> +	  by passing intel_iommu=sm_on to the kernel.
> 
> 
> Maybe a sentence or two to describe what the scalable mode is in layman's
> terms could be useful, so developers don’t need to search around for the
> Kconfig selection?

How about "pasid based multiple stages DMA translation"?

Best regards,
baolu

> 
>> +
>> config IRQ_REMAP
>> 	bool "Support for Interrupt Remapping"
>> 	depends on X86_64 && X86_IO_APIC && PCI_MSI && ACPI
>> diff --git a/drivers/iommu/intel-iommu.c b/drivers/iommu/intel-iommu.c
>> index 6db6d969e31c..6051fe790c61 100644
>> --- a/drivers/iommu/intel-iommu.c
>> +++ b/drivers/iommu/intel-iommu.c
>> @@ -355,9 +355,14 @@ static phys_addr_t intel_iommu_iova_to_phys(struct iommu_domain *domain,
>> int dmar_disabled = 0;
>> #else
>> int dmar_disabled = 1;
>> -#endif /*CONFIG_INTEL_IOMMU_DEFAULT_ON*/
>> +#endif /* CONFIG_INTEL_IOMMU_DEFAULT_ON */
>>
>> +#ifdef INTEL_IOMMU_SCALABLE_MODE_DEFAULT_ON
>> +int intel_iommu_sm = 1;
>> +#else
>> int intel_iommu_sm;
>> +#endif /* INTEL_IOMMU_SCALABLE_MODE_DEFAULT_ON */
>> +
>> int intel_iommu_enabled = 0;
>> EXPORT_SYMBOL_GPL(intel_iommu_enabled);
>>
>> -- 
>> 2.17.1
>>
>> _______________________________________________
>> iommu mailing list
>> iommu@lists.linux-foundation.org
>> https://lists.linuxfoundation.org/mailman/listinfo/iommu
> 
> 
_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH v2 1/1] iommu/vt-d: Add Kconfig option to enable/disable scalable mode
  2019-11-11  1:27   ` Lu Baolu
@ 2019-11-11  2:00     ` Qian Cai
  2019-11-11  2:17       ` Lu Baolu
  0 siblings, 1 reply; 9+ messages in thread
From: Qian Cai @ 2019-11-11  2:00 UTC (permalink / raw)
  To: Lu Baolu
  Cc: kevin.tian, ashok.raj, linux-kernel, iommu, jacob.jun.pan,
	David Woodhouse



> On Nov 10, 2019, at 8:30 PM, Lu Baolu <baolu.lu@linux.intel.com> wrote:
> 
> How about "pasid based multiple stages DMA translation"?

It is better but I am still not sure how developers should select it or not when asking. Ideally, should it mention pros and cons of this? At minimal, there should be a line said “if not sure what this is, select N”?
_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH v2 1/1] iommu/vt-d: Add Kconfig option to enable/disable scalable mode
  2019-11-11  2:00     ` Qian Cai
@ 2019-11-11  2:17       ` Lu Baolu
  0 siblings, 0 replies; 9+ messages in thread
From: Lu Baolu @ 2019-11-11  2:17 UTC (permalink / raw)
  To: Qian Cai
  Cc: kevin.tian, ashok.raj, linux-kernel, iommu, jacob.jun.pan,
	David Woodhouse

Hi,

On 11/11/19 10:00 AM, Qian Cai wrote:
> 
> 
>> On Nov 10, 2019, at 8:30 PM, Lu Baolu <baolu.lu@linux.intel.com> wrote:
>>
>> How about "pasid based multiple stages DMA translation"?
> 
> It is better but I am still not sure how developers should select it or not when asking. Ideally, should it mention pros and cons of this? At minimal, there should be a line said “if not sure what this is, select N”?
> 

Actually, I'd recommend "if not sure, use the default value". :-)

Best regards,
baolu
_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH v2 1/1] iommu/vt-d: Add Kconfig option to enable/disable scalable mode
  2019-11-09  3:40 [PATCH v2 1/1] iommu/vt-d: Add Kconfig option to enable/disable scalable mode Lu Baolu
  2019-11-09  3:59 ` Qian Cai
@ 2019-11-11  2:58 ` Qian Cai
  2019-11-11  5:20   ` Lu Baolu
  1 sibling, 1 reply; 9+ messages in thread
From: Qian Cai @ 2019-11-11  2:58 UTC (permalink / raw)
  To: Lu Baolu
  Cc: kevin.tian, ashok.raj, linux-kernel, iommu, jacob.jun.pan,
	David Woodhouse



> On Nov 8, 2019, at 10:43 PM, Lu Baolu <baolu.lu@linux.intel.com> wrote:
> 
> +config INTEL_IOMMU_SCALABLE_MODE_DEFAULT_ON
> +    prompt "Enable Intel IOMMU scalable mode by default"
> +    depends on INTEL_IOMMU
> +    help
> +      Selecting this option will enable the scalable mode if
> +      hardware presents the capability. If this option is not
> +      selected, scalable mode support could also be enabled
> +      by passing intel_iommu=sm_on to the kernel.
> +

Does it also make sense to mention which hardware presents this capability or how to check it?
_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH v2 1/1] iommu/vt-d: Add Kconfig option to enable/disable scalable mode
  2019-11-11  2:58 ` Qian Cai
@ 2019-11-11  5:20   ` Lu Baolu
  2019-11-11 14:05     ` Qian Cai
  0 siblings, 1 reply; 9+ messages in thread
From: Lu Baolu @ 2019-11-11  5:20 UTC (permalink / raw)
  To: Qian Cai
  Cc: kevin.tian, ashok.raj, linux-kernel, iommu, jacob.jun.pan,
	David Woodhouse

Hi,

On 11/11/19 10:58 AM, Qian Cai wrote:
> 
> 
>> On Nov 8, 2019, at 10:43 PM, Lu Baolu <baolu.lu@linux.intel.com> wrote:
>>
>> +config INTEL_IOMMU_SCALABLE_MODE_DEFAULT_ON
>> +    prompt "Enable Intel IOMMU scalable mode by default"
>> +    depends on INTEL_IOMMU
>> +    help
>> +      Selecting this option will enable the scalable mode if
>> +      hardware presents the capability. If this option is not
>> +      selected, scalable mode support could also be enabled
>> +      by passing intel_iommu=sm_on to the kernel.
>> +
> 
> Does it also make sense to mention which hardware presents this capability or how to check it?
> 

The scalable mode is defined in VT-d 3.0. The scalable mode capability
could be checked by reading /sys/devices/virtual/iommu/dmar*/intel-
iommu/ecap. It's currently not friendly for reading. You need to decode
it according to the spec.

Best regards,
baolu


_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH v2 1/1] iommu/vt-d: Add Kconfig option to enable/disable scalable mode
  2019-11-11  5:20   ` Lu Baolu
@ 2019-11-11 14:05     ` Qian Cai
  2019-11-12  5:48       ` Lu Baolu
  0 siblings, 1 reply; 9+ messages in thread
From: Qian Cai @ 2019-11-11 14:05 UTC (permalink / raw)
  To: Lu Baolu
  Cc: kevin.tian, ashok.raj, linux-kernel, iommu, jacob.jun.pan,
	David Woodhouse



> On Nov 11, 2019, at 12:23 AM, Lu Baolu <baolu.lu@linux.intel.com> wrote:
> 
> The scalable mode is defined in VT-d 3.0. The scalable mode capability
> could be checked by reading /sys/devices/virtual/iommu/dmar*/intel-
> iommu/ecap. It's currently not friendly for reading. You need to decode
> it according to the spec.

This looks like some perfect information to put in the Kconfig description.
_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH v2 1/1] iommu/vt-d: Add Kconfig option to enable/disable scalable mode
  2019-11-11 14:05     ` Qian Cai
@ 2019-11-12  5:48       ` Lu Baolu
  0 siblings, 0 replies; 9+ messages in thread
From: Lu Baolu @ 2019-11-12  5:48 UTC (permalink / raw)
  To: Qian Cai
  Cc: kevin.tian, ashok.raj, linux-kernel, iommu, jacob.jun.pan,
	David Woodhouse

Hi,

On 11/11/19 10:05 PM, Qian Cai wrote:
> 
> 
>> On Nov 11, 2019, at 12:23 AM, Lu Baolu <baolu.lu@linux.intel.com> wrote:
>>
>> The scalable mode is defined in VT-d 3.0. The scalable mode capability
>> could be checked by reading /sys/devices/virtual/iommu/dmar*/intel-
>> iommu/ecap. It's currently not friendly for reading. You need to decode
>> it according to the spec.
> 
> This looks like some perfect information to put in the Kconfig description.
> 

Okay. Will add it in the next version.

Best regards,
baolu
_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2019-11-12  5:51 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-11-09  3:40 [PATCH v2 1/1] iommu/vt-d: Add Kconfig option to enable/disable scalable mode Lu Baolu
2019-11-09  3:59 ` Qian Cai
2019-11-11  1:27   ` Lu Baolu
2019-11-11  2:00     ` Qian Cai
2019-11-11  2:17       ` Lu Baolu
2019-11-11  2:58 ` Qian Cai
2019-11-11  5:20   ` Lu Baolu
2019-11-11 14:05     ` Qian Cai
2019-11-12  5:48       ` Lu Baolu

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).