[opensuse-amd64] How do I confirm which IOMMU method is being used?
Sorry for just barging in so soon after subscribing to this list, but the last messages I saw in the archives related to shutting the list down and I need some help from AMD64 experts. If this is not the correct venue, please point me to a more appropriate one. CPU: AMD Phenom II x6 1100T mobo: Gigabyte GA-990FXA-UD5 (AMD 990FX/SB950 chipset), BIOS version F6 memory: Patriot Viper Extreme 2000MHz (2x4GB, recently upgraded to 4x4GB) OS: openSUSE 12.1 (3.1.9 kernel) Searches related to enabling the AMD-Vi say that it has to be enabled in the BIOS or (I believe it should be AND) have an IVRS table in the ACPI tables. However the kernel ring buffer reported by dmesg(1) shows the following (IOMMU=enabled in the BIOS, no kernel args): [ 0.000000] ACPI: IVRS 00000000bfde0930 000F8 (v01 AMD RD890S 00202031 AMD 00000000) .... [ 0.000000] No AGP bridge found [ 0.000000] Node 0: aperture @ b0000000 size 32 MB [ 0.000000] Aperture pointing to e820 RAM. Ignoring. [ 0.000000] Your BIOS doesn't leave a aperture memory hole [ 0.000000] Please enable the IOMMU option in the BIOS setup [ 0.000000] This costs you 64 MB of RAM [ 0.000000] Mapping aperture over 65536 KB of RAM @ b4000000 and [ 0.772264] AMD-Vi: Enabling IOMMU at 0000:00:00.2 cap 0x40 [ 0.832267] AMD-Vi: Lazy IO/TLB flushing enabled [ 0.832270] PCI-DMA: Using software bounce buffering for IO (SWIOTLB) [ 0.832272] Placing 64MB software IO TLB between ffff8800bbda0000 - ffff8800bfda0000 [ 0.832274] software IO TLB at phys 0xbbda0000 - 0xbfda0000 So it looks like the AMD-Vi IOMMU has been enabled, and I find what appears to me to be a properly formatted IVRS table at /sys/firmware/acpi/tables/IVRS. But it also looks like there have been 2 64MB TLBs created and neither are for the AMD-Vi IOMMU. One appears to be for the GART and the other appears to be for the SWIOTLB mechansim. What I don't see (but I expected to see) is a 64MB area allocated for AMD-Vi IOTLB entries. I also ran a test where I installed 64-bit Mandriva 2011 as a VM under KVM. I then measured the boot times, from kernel launch via GRUB to login screen of that system. In all cases, I performed a cold boot of both the Physical and Virtual systems. This is what I saw: Kernel Args Time iommu=soft,noagp,noaperture 26.87S iommu=memaper 33.84S <none> 33.80S In all cases, the "Kernel Args" are the IOMMU-related parameters I passed to the host machine (openSUSE 12.1) kernel. In cases 1 & 2, the IOMMU (AMD-Vi) was disabled in the (host machine) BIOS. I case 3, the IOMMU was enabled in the BIOS. As you can see, the software implementation was actually faster than the hardware alternatives and there was no difference between the GART and the AMD-Vi instances. None of this passes the common sense test, nor is it consistent with results published by AMD (and others) describing the benefits of the AMD-Vi technology. This also leads me to believe that something is broken with the BIOS in my system. I've tried contacting Gigabyte tech support, but they tell me to get help from the Linux forums, so nothing will get fixed unless I can tell them exactly what's wrong and how to fix it. What else should I be seeing and what shouldn't I be seeing in a properly functioning system? Is there a more definitive way to test or confirm which IOMMU mechanism is actually being used by a running kernel? If more data is needed, please let me know what you need and the most appropriate way to provide it. Thanks, ron -- Ron Widell | Disclaimer, dat-claimer... r_widell<at>bwig<dot>net | if she's mine, I'll claim 'er. -- To unsubscribe, e-mail: opensuse-amd64+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-amd64+owner@opensuse.org
Hi, as you try on a recent kernel, you better ask here: (from the kernel MAINTAINERS file): AMD IOMMU (AMD-VI) M: Joerg Roedel <joerg.roedel@amd.com> L: iommu@lists.linux-foundation.org Thomas On Monday, February 27, 2012 03:20:25 PM Ron Widell wrote:
Sorry for just barging in so soon after subscribing to this list, but the last messages I saw in the archives related to shutting the list down and I need some help from AMD64 experts. If this is not the correct venue, please point me to a more appropriate one.
CPU: AMD Phenom II x6 1100T mobo: Gigabyte GA-990FXA-UD5 (AMD 990FX/SB950 chipset), BIOS version F6 memory: Patriot Viper Extreme 2000MHz (2x4GB, recently upgraded to 4x4GB) OS: openSUSE 12.1 (3.1.9 kernel)
Searches related to enabling the AMD-Vi say that it has to be enabled in the BIOS or (I believe it should be AND) have an IVRS table in the ACPI tables. However the kernel ring buffer reported by dmesg(1) shows the following (IOMMU=enabled in the BIOS, no kernel args):
[ 0.000000] ACPI: IVRS 00000000bfde0930 000F8 (v01 AMD RD890S 00202031 AMD 00000000) .... [ 0.000000] No AGP bridge found [ 0.000000] Node 0: aperture @ b0000000 size 32 MB [ 0.000000] Aperture pointing to e820 RAM. Ignoring. [ 0.000000] Your BIOS doesn't leave a aperture memory hole [ 0.000000] Please enable the IOMMU option in the BIOS setup [ 0.000000] This costs you 64 MB of RAM [ 0.000000] Mapping aperture over 65536 KB of RAM @ b4000000
and
[ 0.772264] AMD-Vi: Enabling IOMMU at 0000:00:00.2 cap 0x40 [ 0.832267] AMD-Vi: Lazy IO/TLB flushing enabled [ 0.832270] PCI-DMA: Using software bounce buffering for IO (SWIOTLB) [ 0.832272] Placing 64MB software IO TLB between ffff8800bbda0000 - ffff8800bfda0000 [ 0.832274] software IO TLB at phys 0xbbda0000 - 0xbfda0000
So it looks like the AMD-Vi IOMMU has been enabled, and I find what appears to me to be a properly formatted IVRS table at /sys/firmware/acpi/tables/IVRS. But it also looks like there have been 2 64MB TLBs created and neither are for the AMD-Vi IOMMU. One appears to be for the GART and the other appears to be for the SWIOTLB mechansim.
What I don't see (but I expected to see) is a 64MB area allocated for AMD-Vi IOTLB entries.
I also ran a test where I installed 64-bit Mandriva 2011 as a VM under KVM. I then measured the boot times, from kernel launch via GRUB to login screen of that system. In all cases, I performed a cold boot of both the Physical and Virtual systems. This is what I saw:
Kernel Args Time iommu=soft,noagp,noaperture 26.87S iommu=memaper 33.84S <none> 33.80S
In all cases, the "Kernel Args" are the IOMMU-related parameters I passed to the host machine (openSUSE 12.1) kernel. In cases 1 & 2, the IOMMU (AMD-Vi) was disabled in the (host machine) BIOS. I case 3, the IOMMU was enabled in the BIOS. As you can see, the software implementation was actually faster than the hardware alternatives and there was no difference between the GART and the AMD-Vi instances. None of this passes the common sense test, nor is it consistent with results published by AMD (and others) describing the benefits of the AMD-Vi technology. This also leads me to believe that something is broken with the BIOS in my system.
I've tried contacting Gigabyte tech support, but they tell me to get help from the Linux forums, so nothing will get fixed unless I can tell them exactly what's wrong and how to fix it.
What else should I be seeing and what shouldn't I be seeing in a properly functioning system?
Is there a more definitive way to test or confirm which IOMMU mechanism is actually being used by a running kernel?
If more data is needed, please let me know what you need and the most appropriate way to provide it.
Thanks, ron
-- Ron Widell | Disclaimer, dat-claimer... r_widell<at>bwig<dot>net | if she's mine, I'll claim 'er.
-- To unsubscribe, e-mail: opensuse-amd64+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-amd64+owner@opensuse.org
-- To unsubscribe, e-mail: opensuse-amd64+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-amd64+owner@opensuse.org
On 02/29/2012 02:58 AM, Thomas Renninger wrote:
Hi,
as you try on a recent kernel, you better ask here: (from the kernel MAINTAINERS file):
AMD IOMMU (AMD-VI) M: Joerg Roedel<joerg.roedel@amd.com> L: iommu@lists.linux-foundation.org
Thomas
Thank You -- Ron Widell | Disclaimer, dat-claimer... r_widell<at>bwig<dot>net | if she's mine, I'll claim 'er. -- To unsubscribe, e-mail: opensuse-amd64+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-amd64+owner@opensuse.org
participants (2)
-
Ron Widell
-
Thomas Renninger