All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] x86: Don't make AMD_GART depend on EXPERT and default y
@ 2013-10-04 21:37 Andi Kleen
  2013-10-06  9:42 ` Ingo Molnar
  2013-10-06 14:04 ` [tip:x86/iommu] x86/iommu: Don' t " tip-bot for Andi Kleen
  0 siblings, 2 replies; 3+ messages in thread
From: Andi Kleen @ 2013-10-04 21:37 UTC (permalink / raw)
  To: linux-kernel; +Cc: x86, Andi Kleen, bp

From: Andi Kleen <ak@linux.intel.com>

The AMD_GART driver was made EXPERT/EMBEDDED a long time
ago to avoid unbootable 64bit systems with 32bit only devices.

This was before swiotlb was there, which does the job
of this fallback today. SWIOTLB is always on, so systems
should always boot.

The drawback is that every system has to compile that
driver in (it cannot be a module).

Also:
- Newer AMD CPUs (the APUs) don't seem to have AMD_GART support
at all anymore.
- Newer AMD platforms have a much better real IOMMU
- The AMD GART driver was never very good (lots of overhead, e.g.
in flushing due to some workarounds) and it's doubtful it's really
better than SWIOTLB.
- On older K8 systems it didn't even work with all chipsets.
- The 32bit device bounce buffer case should be rare/
non performance critical these days anyways.
- On non AMD systems it is not needed at all.

So drop the EXPERT dependency on AMD_GART and remove the
default y. The driver can be still compiled in, just
it's an explicit decision now, and people who don't want
it can unselect it.

I also clarified the description a bit.

This allows to save ~8K text on most modern x86-64 systems.

Cc: bp@suse.de
Signed-off-by: Andi Kleen <ak@linux.intel.com>
---
 arch/x86/Kconfig | 9 ++++-----
 1 file changed, 4 insertions(+), 5 deletions(-)

diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index ee2fb9d..c9d2b81 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -756,17 +756,16 @@ config DMI
 	  BIOS code.
 
 config GART_IOMMU
-	bool "GART IOMMU support" if EXPERT
-	default y
+	bool "Old AMD GART IOMMU support"
 	select SWIOTLB
 	depends on X86_64 && PCI && AMD_NB
 	---help---
 	  Support for full DMA access of devices with 32bit memory access only
 	  on systems with more than 3GB. This is usually needed for USB,
 	  sound, many IDE/SATA chipsets and some other devices.
-	  Provides a driver for the AMD Athlon64/Opteron/Turion/Sempron GART
-	  based hardware IOMMU and a software bounce buffer based IOMMU used
-	  on Intel systems and as fallback.
+	  Provides a driver for the older AMD Athlon64/Opteron/Turion/Sempron GART
+	  based hardware IOMMU.
+	  Newer systems typically have a better AMD IOMMU.
 	  The code is only active when needed (enough memory and limited
 	  device) unless CONFIG_IOMMU_DEBUG or iommu=force is specified
 	  too.
-- 
1.8.3.1


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

* Re: [PATCH] x86: Don't make AMD_GART depend on EXPERT and default y
  2013-10-04 21:37 [PATCH] x86: Don't make AMD_GART depend on EXPERT and default y Andi Kleen
@ 2013-10-06  9:42 ` Ingo Molnar
  2013-10-06 14:04 ` [tip:x86/iommu] x86/iommu: Don' t " tip-bot for Andi Kleen
  1 sibling, 0 replies; 3+ messages in thread
From: Ingo Molnar @ 2013-10-06  9:42 UTC (permalink / raw)
  To: Andi Kleen; +Cc: linux-kernel, x86, Andi Kleen, bp


* Andi Kleen <andi@firstfloor.org> wrote:

> From: Andi Kleen <ak@linux.intel.com>
> 
> The AMD_GART driver was made EXPERT/EMBEDDED a long time
> ago to avoid unbootable 64bit systems with 32bit only devices.
> 
> This was before swiotlb was there, which does the job
> of this fallback today. SWIOTLB is always on, so systems
> should always boot.
> 
> The drawback is that every system has to compile that
> driver in (it cannot be a module).
> 
> Also:
> - Newer AMD CPUs (the APUs) don't seem to have AMD_GART support
> at all anymore.
> - Newer AMD platforms have a much better real IOMMU
> - The AMD GART driver was never very good (lots of overhead, e.g.
> in flushing due to some workarounds) and it's doubtful it's really
> better than SWIOTLB.
> - On older K8 systems it didn't even work with all chipsets.
> - The 32bit device bounce buffer case should be rare/
> non performance critical these days anyways.
> - On non AMD systems it is not needed at all.
> 
> So drop the EXPERT dependency on AMD_GART and remove the
> default y. The driver can be still compiled in, just
> it's an explicit decision now, and people who don't want
> it can unselect it.
> 
> I also clarified the description a bit.
> 
> This allows to save ~8K text on most modern x86-64 systems.
> 
> Cc: bp@suse.de
> Signed-off-by: Andi Kleen <ak@linux.intel.com>

Btw., this is a perfect changelog!

Thanks,

	Ingo

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

* [tip:x86/iommu] x86/iommu: Don' t make AMD_GART depend on EXPERT and default y
  2013-10-04 21:37 [PATCH] x86: Don't make AMD_GART depend on EXPERT and default y Andi Kleen
  2013-10-06  9:42 ` Ingo Molnar
@ 2013-10-06 14:04 ` tip-bot for Andi Kleen
  1 sibling, 0 replies; 3+ messages in thread
From: tip-bot for Andi Kleen @ 2013-10-06 14:04 UTC (permalink / raw)
  To: linux-tip-commits; +Cc: linux-kernel, hpa, mingo, ak, tglx, bp

Commit-ID:  38901f1c1cae241fd4e3c5e63fcc690b921734b1
Gitweb:     http://git.kernel.org/tip/38901f1c1cae241fd4e3c5e63fcc690b921734b1
Author:     Andi Kleen <ak@linux.intel.com>
AuthorDate: Fri, 4 Oct 2013 14:37:56 -0700
Committer:  Ingo Molnar <mingo@kernel.org>
CommitDate: Sun, 6 Oct 2013 11:47:04 +0200

x86/iommu: Don't make AMD_GART depend on EXPERT and default y

The AMD_GART driver was made EXPERT/EMBEDDED a long time
ago to avoid unbootable 64bit systems with 32bit only devices.

This was before swiotlb was there, which does the job
of this fallback today. SWIOTLB is always on, so systems
should always boot.

The drawback is that every system has to compile that
driver in (it cannot be a module).

Also:
 - Newer AMD CPUs (the APUs) don't seem to have AMD_GART support
   at all anymore.

 - Newer AMD platforms have a much better real IOMMU

 - The AMD GART driver was never very good (lots of overhead,
   e.g. in flushing due to some workarounds) and it's doubtful it's
   really better than SWIOTLB.

 - On older K8 systems it didn't even work with all chipsets.

 - The 32bit device bounce buffer case should be rare/
   non performance critical these days anyways.

 - On non AMD systems it is not needed at all.

So drop the EXPERT dependency on AMD_GART and remove the
default y. The driver can be still compiled in, just
it's an explicit decision now, and people who don't want
it can unselect it.

I also clarified the description a bit.

This allows to save ~8K text on most modern x86-64 systems.

Signed-off-by: Andi Kleen <ak@linux.intel.com>
Acked-by: Borislav Petkov <bp@suse.de>
Link: http://lkml.kernel.org/r/1380922676-23007-1-git-send-email-andi@firstfloor.org
Signed-off-by: Ingo Molnar <mingo@kernel.org>
---
 arch/x86/Kconfig | 9 ++++-----
 1 file changed, 4 insertions(+), 5 deletions(-)

diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index ee2fb9d..c9d2b81 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -756,17 +756,16 @@ config DMI
 	  BIOS code.
 
 config GART_IOMMU
-	bool "GART IOMMU support" if EXPERT
-	default y
+	bool "Old AMD GART IOMMU support"
 	select SWIOTLB
 	depends on X86_64 && PCI && AMD_NB
 	---help---
 	  Support for full DMA access of devices with 32bit memory access only
 	  on systems with more than 3GB. This is usually needed for USB,
 	  sound, many IDE/SATA chipsets and some other devices.
-	  Provides a driver for the AMD Athlon64/Opteron/Turion/Sempron GART
-	  based hardware IOMMU and a software bounce buffer based IOMMU used
-	  on Intel systems and as fallback.
+	  Provides a driver for the older AMD Athlon64/Opteron/Turion/Sempron GART
+	  based hardware IOMMU.
+	  Newer systems typically have a better AMD IOMMU.
 	  The code is only active when needed (enough memory and limited
 	  device) unless CONFIG_IOMMU_DEBUG or iommu=force is specified
 	  too.

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

end of thread, other threads:[~2013-10-06 14:04 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-10-04 21:37 [PATCH] x86: Don't make AMD_GART depend on EXPERT and default y Andi Kleen
2013-10-06  9:42 ` Ingo Molnar
2013-10-06 14:04 ` [tip:x86/iommu] x86/iommu: Don' t " tip-bot for Andi Kleen

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.