* [GIT PULL] AMD IOMMU updates for 2.6.28
@ 2008-09-19 10:07 Joerg Roedel
2008-09-19 10:28 ` FUJITA Tomonori
0 siblings, 1 reply; 11+ messages in thread
From: Joerg Roedel @ 2008-09-19 10:07 UTC (permalink / raw)
To: Ingo Molnar; +Cc: linux-kernel
Hi Ingo,
please pull the updates for the AMD IOMMU driver for the 2.6.28 merge
window. Most of the patches had been sent to LKML for review and got
comments. One patch touches the GART driver and was added after an
objection with a patch previously in this series. Please pull.
The following changes since commit 74546a8cd9a4e2c26a15a534f0be2f9cc08ae675:
Ingo Molnar (1):
Revert "fix warning in: "x86: HPET_MSI Initialise per-cpu HPET timers""
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/joro/linux-2.6-iommu.git iommu-updates-2.6.28
FUJITA Tomonori (1):
AMD IOMMU: avoid unnecessary low zone allocation in alloc_coherent
Joerg Roedel (24):
AMD IOMMU: check for invalid device pointers
AMD IOMMU: move TLB flushing to the map/unmap helper functions
x86: move GART TLB flushing options to generic code
AMD IOMMU: implement lazy IO/TLB flushing
AMD IOMMU: add branch hints to completion wait checks
AMD IOMMU: align alloc_coherent addresses properly
AMD IOMMU: add event buffer allocation
AMD IOMMU: save pci segment from ACPI tables
AMD IOMMU: save pci_dev instead of devid
AMD IOMMU: add MSI interrupt support
AMD IOMMU: add event handling code
AMD IOMMU: enable event logging
AMD IOMMU: allow IO page faults from devices
AMD IOMMU: add dma_supported callback
AMD IOMMU: don't assign preallocated protection domains to devices
AMD IOMMU: some set_device_domain cleanups
AMD IOMMU: replace memset with __GFP_ZERO in alloc_coherent
AMD IOMMU: simplify dma_mask_to_pages
AMD IOMMU: free domain bitmap with its allocation order
AMD IOMMU: remove unnecessary cast to u64 in the init code
AMD IOMMU: calculate IVHD size with a function
AMD IOMMU: use cmd_buf_size when freeing the command buffer
add AMD IOMMU tree to MAINTAINERS file
AMD IOMMU: use coherent_dma_mask in alloc_coherent
Documentation/kernel-parameters.txt | 4 +
Documentation/x86/x86_64/boot-options.txt | 2 -
MAINTAINERS | 1 +
arch/x86/Kconfig | 1 +
arch/x86/kernel/amd_iommu.c | 318 ++++++++++++++++++++++++-----
arch/x86/kernel/amd_iommu_init.c | 191 ++++++++++++++++--
arch/x86/kernel/pci-dma.c | 13 ++
arch/x86/kernel/pci-gart_64.c | 13 --
include/asm-x86/amd_iommu.h | 3 +
include/asm-x86/amd_iommu_types.h | 58 +++++-
include/asm-x86/iommu.h | 1 +
11 files changed, 517 insertions(+), 88 deletions(-)
--
| AMD Saxony Limited Liability Company & Co. KG
Operating | Wilschdorfer Landstr. 101, 01109 Dresden, Germany
System | Register Court Dresden: HRA 4896
Research | General Partner authorized to represent:
Center | AMD Saxony LLC (Wilmington, Delaware, US)
| General Manager of AMD Saxony LLC: Dr. Hans-R. Deppe, Thomas McCoy
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [GIT PULL] AMD IOMMU updates for 2.6.28
2008-09-19 10:07 [GIT PULL] AMD IOMMU updates for 2.6.28 Joerg Roedel
@ 2008-09-19 10:28 ` FUJITA Tomonori
2008-09-19 10:39 ` Joerg Roedel
0 siblings, 1 reply; 11+ messages in thread
From: FUJITA Tomonori @ 2008-09-19 10:28 UTC (permalink / raw)
To: joerg.roedel; +Cc: mingo, linux-kernel
On Fri, 19 Sep 2008 12:07:11 +0200
Joerg Roedel <joerg.roedel@amd.com> wrote:
> Hi Ingo,
>
> please pull the updates for the AMD IOMMU driver for the 2.6.28 merge
> window. Most of the patches had been sent to LKML for review and got
> comments. One patch touches the GART driver and was added after an
> objection with a patch previously in this series. Please pull.
>
> The following changes since commit 74546a8cd9a4e2c26a15a534f0be2f9cc08ae675:
> Ingo Molnar (1):
> Revert "fix warning in: "x86: HPET_MSI Initialise per-cpu HPET timers""
>
> are available in the git repository at:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/joro/linux-2.6-iommu.git iommu-updates-2.6.28
>
> FUJITA Tomonori (1):
> AMD IOMMU: avoid unnecessary low zone allocation in alloc_coherent
>
> Joerg Roedel (24):
> AMD IOMMU: check for invalid device pointers
> AMD IOMMU: move TLB flushing to the map/unmap helper functions
> x86: move GART TLB flushing options to generic code
As I wrote, I don't think that this GART patch is the right approach.
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [GIT PULL] AMD IOMMU updates for 2.6.28
2008-09-19 10:28 ` FUJITA Tomonori
@ 2008-09-19 10:39 ` Joerg Roedel
2008-09-19 10:51 ` FUJITA Tomonori
0 siblings, 1 reply; 11+ messages in thread
From: Joerg Roedel @ 2008-09-19 10:39 UTC (permalink / raw)
To: FUJITA Tomonori; +Cc: mingo, linux-kernel
On Fri, Sep 19, 2008 at 07:28:13PM +0900, FUJITA Tomonori wrote:
> On Fri, 19 Sep 2008 12:07:11 +0200
> Joerg Roedel <joerg.roedel@amd.com> wrote:
>
> > Hi Ingo,
> >
> > please pull the updates for the AMD IOMMU driver for the 2.6.28 merge
> > window. Most of the patches had been sent to LKML for review and got
> > comments. One patch touches the GART driver and was added after an
> > objection with a patch previously in this series. Please pull.
> >
> > The following changes since commit 74546a8cd9a4e2c26a15a534f0be2f9cc08ae675:
> > Ingo Molnar (1):
> > Revert "fix warning in: "x86: HPET_MSI Initialise per-cpu HPET timers""
> >
> > are available in the git repository at:
> >
> > git://git.kernel.org/pub/scm/linux/kernel/git/joro/linux-2.6-iommu.git iommu-updates-2.6.28
> >
> > FUJITA Tomonori (1):
> > AMD IOMMU: avoid unnecessary low zone allocation in alloc_coherent
> >
> > Joerg Roedel (24):
> > AMD IOMMU: check for invalid device pointers
> > AMD IOMMU: move TLB flushing to the map/unmap helper functions
> > x86: move GART TLB flushing options to generic code
>
> As I wrote, I don't think that this GART patch is the right approach.
I don't thinks its clean to leave nofullflush in GART code and move
fullflush to generic code only. If we move something then both. But feel
free to submit a patch that removes the nofullflush option. I would not
disagree with that.
Joerg
--
| AMD Saxony Limited Liability Company & Co. KG
Operating | Wilschdorfer Landstr. 101, 01109 Dresden, Germany
System | Register Court Dresden: HRA 4896
Research | General Partner authorized to represent:
Center | AMD Saxony LLC (Wilmington, Delaware, US)
| General Manager of AMD Saxony LLC: Dr. Hans-R. Deppe, Thomas McCoy
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [GIT PULL] AMD IOMMU updates for 2.6.28
2008-09-19 10:39 ` Joerg Roedel
@ 2008-09-19 10:51 ` FUJITA Tomonori
2008-09-19 11:02 ` Joerg Roedel
0 siblings, 1 reply; 11+ messages in thread
From: FUJITA Tomonori @ 2008-09-19 10:51 UTC (permalink / raw)
To: joerg.roedel; +Cc: fujita.tomonori, mingo, linux-kernel
On Fri, 19 Sep 2008 12:39:23 +0200
Joerg Roedel <joerg.roedel@amd.com> wrote:
> On Fri, Sep 19, 2008 at 07:28:13PM +0900, FUJITA Tomonori wrote:
> > On Fri, 19 Sep 2008 12:07:11 +0200
> > Joerg Roedel <joerg.roedel@amd.com> wrote:
> >
> > > Hi Ingo,
> > >
> > > please pull the updates for the AMD IOMMU driver for the 2.6.28 merge
> > > window. Most of the patches had been sent to LKML for review and got
> > > comments. One patch touches the GART driver and was added after an
> > > objection with a patch previously in this series. Please pull.
> > >
> > > The following changes since commit 74546a8cd9a4e2c26a15a534f0be2f9cc08ae675:
> > > Ingo Molnar (1):
> > > Revert "fix warning in: "x86: HPET_MSI Initialise per-cpu HPET timers""
> > >
> > > are available in the git repository at:
> > >
> > > git://git.kernel.org/pub/scm/linux/kernel/git/joro/linux-2.6-iommu.git iommu-updates-2.6.28
> > >
> > > FUJITA Tomonori (1):
> > > AMD IOMMU: avoid unnecessary low zone allocation in alloc_coherent
> > >
> > > Joerg Roedel (24):
> > > AMD IOMMU: check for invalid device pointers
> > > AMD IOMMU: move TLB flushing to the map/unmap helper functions
> > > x86: move GART TLB flushing options to generic code
> >
> > As I wrote, I don't think that this GART patch is the right approach.
>
> I don't thinks its clean to leave nofullflush in GART code and move
> fullflush to generic code only.
It's not clean for GART but clean for other IOMMUs.
> If we move something then both. But feel
> free to submit a patch that removes the nofullflush option. I would not
> disagree with that.
I'm not sure we can remove an option that we added. If we can, please
remove it now. There is no point to make the meaningless option
generic.
If you don't like it, please add 'nofullflush' option as AMD IOMMU
option for now. As long as AMD IOMMU uses the same option name, we can
clean up them later if necessary.
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [GIT PULL] AMD IOMMU updates for 2.6.28
2008-09-19 10:51 ` FUJITA Tomonori
@ 2008-09-19 11:02 ` Joerg Roedel
2008-09-19 11:23 ` FUJITA Tomonori
0 siblings, 1 reply; 11+ messages in thread
From: Joerg Roedel @ 2008-09-19 11:02 UTC (permalink / raw)
To: FUJITA Tomonori; +Cc: mingo, linux-kernel
On Fri, Sep 19, 2008 at 07:51:11PM +0900, FUJITA Tomonori wrote:
> On Fri, 19 Sep 2008 12:39:23 +0200
> Joerg Roedel <joerg.roedel@amd.com> wrote:
>
> > On Fri, Sep 19, 2008 at 07:28:13PM +0900, FUJITA Tomonori wrote:
> > > On Fri, 19 Sep 2008 12:07:11 +0200
> > > Joerg Roedel <joerg.roedel@amd.com> wrote:
> > >
> > > > Hi Ingo,
> > > >
> > > > please pull the updates for the AMD IOMMU driver for the 2.6.28 merge
> > > > window. Most of the patches had been sent to LKML for review and got
> > > > comments. One patch touches the GART driver and was added after an
> > > > objection with a patch previously in this series. Please pull.
> > > >
> > > > The following changes since commit 74546a8cd9a4e2c26a15a534f0be2f9cc08ae675:
> > > > Ingo Molnar (1):
> > > > Revert "fix warning in: "x86: HPET_MSI Initialise per-cpu HPET timers""
> > > >
> > > > are available in the git repository at:
> > > >
> > > > git://git.kernel.org/pub/scm/linux/kernel/git/joro/linux-2.6-iommu.git iommu-updates-2.6.28
> > > >
> > > > FUJITA Tomonori (1):
> > > > AMD IOMMU: avoid unnecessary low zone allocation in alloc_coherent
> > > >
> > > > Joerg Roedel (24):
> > > > AMD IOMMU: check for invalid device pointers
> > > > AMD IOMMU: move TLB flushing to the map/unmap helper functions
> > > > x86: move GART TLB flushing options to generic code
> > >
> > > As I wrote, I don't think that this GART patch is the right approach.
> >
> > I don't thinks its clean to leave nofullflush in GART code and move
> > fullflush to generic code only.
>
> It's not clean for GART but clean for other IOMMUs.
So its unclean anyway. It doesn't matter if for GART or for AMD IOMMU.
> > If we move something then both. But feel
> > free to submit a patch that removes the nofullflush option. I would not
> > disagree with that.
>
> I'm not sure we can remove an option that we added. If we can, please
> remove it now. There is no point to make the meaningless option
> generic.
I don't added this option. I just moved it to generic code from the
GART. The nofullflush option has no meaning for GART and for AMD
IOMMU. The only reason to keep it is if we want to change the default in
the future. If you don't think we would change the default any time in
the future feel free to remove it.
Joerg
--
| AMD Saxony Limited Liability Company & Co. KG
Operating | Wilschdorfer Landstr. 101, 01109 Dresden, Germany
System | Register Court Dresden: HRA 4896
Research | General Partner authorized to represent:
Center | AMD Saxony LLC (Wilmington, Delaware, US)
| General Manager of AMD Saxony LLC: Dr. Hans-R. Deppe, Thomas McCoy
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [GIT PULL] AMD IOMMU updates for 2.6.28
2008-09-19 11:02 ` Joerg Roedel
@ 2008-09-19 11:23 ` FUJITA Tomonori
2008-09-19 11:47 ` FUJITA Tomonori
0 siblings, 1 reply; 11+ messages in thread
From: FUJITA Tomonori @ 2008-09-19 11:23 UTC (permalink / raw)
To: joerg.roedel; +Cc: fujita.tomonori, mingo, linux-kernel
On Fri, 19 Sep 2008 13:02:40 +0200
Joerg Roedel <joerg.roedel@amd.com> wrote:
> On Fri, Sep 19, 2008 at 07:51:11PM +0900, FUJITA Tomonori wrote:
> > On Fri, 19 Sep 2008 12:39:23 +0200
> > Joerg Roedel <joerg.roedel@amd.com> wrote:
> >
> > > On Fri, Sep 19, 2008 at 07:28:13PM +0900, FUJITA Tomonori wrote:
> > > > On Fri, 19 Sep 2008 12:07:11 +0200
> > > > Joerg Roedel <joerg.roedel@amd.com> wrote:
> > > >
> > > > > Hi Ingo,
> > > > >
> > > > > please pull the updates for the AMD IOMMU driver for the 2.6.28 merge
> > > > > window. Most of the patches had been sent to LKML for review and got
> > > > > comments. One patch touches the GART driver and was added after an
> > > > > objection with a patch previously in this series. Please pull.
> > > > >
> > > > > The following changes since commit 74546a8cd9a4e2c26a15a534f0be2f9cc08ae675:
> > > > > Ingo Molnar (1):
> > > > > Revert "fix warning in: "x86: HPET_MSI Initialise per-cpu HPET timers""
> > > > >
> > > > > are available in the git repository at:
> > > > >
> > > > > git://git.kernel.org/pub/scm/linux/kernel/git/joro/linux-2.6-iommu.git iommu-updates-2.6.28
> > > > >
> > > > > FUJITA Tomonori (1):
> > > > > AMD IOMMU: avoid unnecessary low zone allocation in alloc_coherent
> > > > >
> > > > > Joerg Roedel (24):
> > > > > AMD IOMMU: check for invalid device pointers
> > > > > AMD IOMMU: move TLB flushing to the map/unmap helper functions
> > > > > x86: move GART TLB flushing options to generic code
> > > >
> > > > As I wrote, I don't think that this GART patch is the right approach.
> > >
> > > I don't thinks its clean to leave nofullflush in GART code and move
> > > fullflush to generic code only.
> >
> > It's not clean for GART but clean for other IOMMUs.
>
> So its unclean anyway. It doesn't matter if for GART or for AMD IOMMU.
>
> > > If we move something then both. But feel
> > > free to submit a patch that removes the nofullflush option. I would not
> > > disagree with that.
> >
> > I'm not sure we can remove an option that we added. If we can, please
> > remove it now. There is no point to make the meaningless option
> > generic.
>
> I don't added this option. I just moved it to generic code from the
You added it to the generic place. Moving it to the generic place
means adding it to the generic place.
There is no difference in the end. Now 'nofullflush' is listed as the
generic place.
diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt
index c2e00ee..569527e 100644
--- a/Documentation/kernel-parameters.txt
+++ b/Documentation/kernel-parameters.txt
@@ -888,6 +888,10 @@ and is between 256 and 4096 characters. It is defined in the file
nomerge
forcesac
soft
+ fullflush
+ Flush IO/TLB at every deallocation
+ nofullflush
+ Flush IO/TLB only when addresses are reused (default)
Please don't do that.
> GART. The nofullflush option has no meaning for GART and for AMD
> IOMMU. The only reason to keep it is if we want to change the default in
> the future.
No, we can't change the default behavior. It's the user interface.
> If you don't think we would change the default any time in
> the future feel free to remove it.
^ permalink raw reply related [flat|nested] 11+ messages in thread
* Re: [GIT PULL] AMD IOMMU updates for 2.6.28
2008-09-19 11:23 ` FUJITA Tomonori
@ 2008-09-19 11:47 ` FUJITA Tomonori
2008-09-19 11:52 ` Joerg Roedel
0 siblings, 1 reply; 11+ messages in thread
From: FUJITA Tomonori @ 2008-09-19 11:47 UTC (permalink / raw)
To: fujita.tomonori; +Cc: joerg.roedel, mingo, linux-kernel
On Fri, 19 Sep 2008 20:23:50 +0900
FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> wrote:
> On Fri, 19 Sep 2008 13:02:40 +0200
> Joerg Roedel <joerg.roedel@amd.com> wrote:
>
> > On Fri, Sep 19, 2008 at 07:51:11PM +0900, FUJITA Tomonori wrote:
> > > On Fri, 19 Sep 2008 12:39:23 +0200
> > > Joerg Roedel <joerg.roedel@amd.com> wrote:
> > >
> > > > On Fri, Sep 19, 2008 at 07:28:13PM +0900, FUJITA Tomonori wrote:
> > > > > On Fri, 19 Sep 2008 12:07:11 +0200
> > > > > Joerg Roedel <joerg.roedel@amd.com> wrote:
> > > > >
> > > > > > Hi Ingo,
> > > > > >
> > > > > > please pull the updates for the AMD IOMMU driver for the 2.6.28 merge
> > > > > > window. Most of the patches had been sent to LKML for review and got
> > > > > > comments. One patch touches the GART driver and was added after an
> > > > > > objection with a patch previously in this series. Please pull.
> > > > > >
> > > > > > The following changes since commit 74546a8cd9a4e2c26a15a534f0be2f9cc08ae675:
> > > > > > Ingo Molnar (1):
> > > > > > Revert "fix warning in: "x86: HPET_MSI Initialise per-cpu HPET timers""
> > > > > >
> > > > > > are available in the git repository at:
> > > > > >
> > > > > > git://git.kernel.org/pub/scm/linux/kernel/git/joro/linux-2.6-iommu.git iommu-updates-2.6.28
> > > > > >
> > > > > > FUJITA Tomonori (1):
> > > > > > AMD IOMMU: avoid unnecessary low zone allocation in alloc_coherent
> > > > > >
> > > > > > Joerg Roedel (24):
> > > > > > AMD IOMMU: check for invalid device pointers
> > > > > > AMD IOMMU: move TLB flushing to the map/unmap helper functions
> > > > > > x86: move GART TLB flushing options to generic code
> > > > >
> > > > > As I wrote, I don't think that this GART patch is the right approach.
> > > >
> > > > I don't thinks its clean to leave nofullflush in GART code and move
> > > > fullflush to generic code only.
> > >
> > > It's not clean for GART but clean for other IOMMUs.
> >
> > So its unclean anyway. It doesn't matter if for GART or for AMD IOMMU.
> >
> > > > If we move something then both. But feel
> > > > free to submit a patch that removes the nofullflush option. I would not
> > > > disagree with that.
> > >
> > > I'm not sure we can remove an option that we added. If we can, please
> > > remove it now. There is no point to make the meaningless option
> > > generic.
> >
> > I don't added this option. I just moved it to generic code from the
>
> You added it to the generic place. Moving it to the generic place
> means adding it to the generic place.
>
> There is no difference in the end. Now 'nofullflush' is listed as the
> generic place.
>
> diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt
> index c2e00ee..569527e 100644
> --- a/Documentation/kernel-parameters.txt
> +++ b/Documentation/kernel-parameters.txt
> @@ -888,6 +888,10 @@ and is between 256 and 4096 characters. It is defined in the file
> nomerge
> forcesac
> soft
> + fullflush
> + Flush IO/TLB at every deallocation
> + nofullflush
> + Flush IO/TLB only when addresses are reused (default)
And you don't need to add 'fullflush' to the generic place too.
'fullflush' will be supported with only GART and AMD IOMMU. So adding
the description of it to both GART and AMD IOMMU should be fine.
'fullflush' has the same meaning for both IOMMUs. That's nice
consistency, I think.
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [GIT PULL] AMD IOMMU updates for 2.6.28
2008-09-19 11:47 ` FUJITA Tomonori
@ 2008-09-19 11:52 ` Joerg Roedel
2008-09-19 12:24 ` FUJITA Tomonori
0 siblings, 1 reply; 11+ messages in thread
From: Joerg Roedel @ 2008-09-19 11:52 UTC (permalink / raw)
To: FUJITA Tomonori; +Cc: mingo, linux-kernel
On Fri, Sep 19, 2008 at 08:47:54PM +0900, FUJITA Tomonori wrote:
> On Fri, 19 Sep 2008 20:23:50 +0900
> FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> wrote:
>
> > On Fri, 19 Sep 2008 13:02:40 +0200
> > Joerg Roedel <joerg.roedel@amd.com> wrote:
> >
> > > On Fri, Sep 19, 2008 at 07:51:11PM +0900, FUJITA Tomonori wrote:
> > > > On Fri, 19 Sep 2008 12:39:23 +0200
> > > > Joerg Roedel <joerg.roedel@amd.com> wrote:
> > > >
> > > > > On Fri, Sep 19, 2008 at 07:28:13PM +0900, FUJITA Tomonori wrote:
> > > > > > On Fri, 19 Sep 2008 12:07:11 +0200
> > > > > > Joerg Roedel <joerg.roedel@amd.com> wrote:
> > > > > >
> > > > > > > Hi Ingo,
> > > > > > >
> > > > > > > please pull the updates for the AMD IOMMU driver for the 2.6.28 merge
> > > > > > > window. Most of the patches had been sent to LKML for review and got
> > > > > > > comments. One patch touches the GART driver and was added after an
> > > > > > > objection with a patch previously in this series. Please pull.
> > > > > > >
> > > > > > > The following changes since commit 74546a8cd9a4e2c26a15a534f0be2f9cc08ae675:
> > > > > > > Ingo Molnar (1):
> > > > > > > Revert "fix warning in: "x86: HPET_MSI Initialise per-cpu HPET timers""
> > > > > > >
> > > > > > > are available in the git repository at:
> > > > > > >
> > > > > > > git://git.kernel.org/pub/scm/linux/kernel/git/joro/linux-2.6-iommu.git iommu-updates-2.6.28
> > > > > > >
> > > > > > > FUJITA Tomonori (1):
> > > > > > > AMD IOMMU: avoid unnecessary low zone allocation in alloc_coherent
> > > > > > >
> > > > > > > Joerg Roedel (24):
> > > > > > > AMD IOMMU: check for invalid device pointers
> > > > > > > AMD IOMMU: move TLB flushing to the map/unmap helper functions
> > > > > > > x86: move GART TLB flushing options to generic code
> > > > > >
> > > > > > As I wrote, I don't think that this GART patch is the right approach.
> > > > >
> > > > > I don't thinks its clean to leave nofullflush in GART code and move
> > > > > fullflush to generic code only.
> > > >
> > > > It's not clean for GART but clean for other IOMMUs.
> > >
> > > So its unclean anyway. It doesn't matter if for GART or for AMD IOMMU.
> > >
> > > > > If we move something then both. But feel
> > > > > free to submit a patch that removes the nofullflush option. I would not
> > > > > disagree with that.
> > > >
> > > > I'm not sure we can remove an option that we added. If we can, please
> > > > remove it now. There is no point to make the meaningless option
> > > > generic.
> > >
> > > I don't added this option. I just moved it to generic code from the
> >
> > You added it to the generic place. Moving it to the generic place
> > means adding it to the generic place.
> >
> > There is no difference in the end. Now 'nofullflush' is listed as the
> > generic place.
> >
> > diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt
> > index c2e00ee..569527e 100644
> > --- a/Documentation/kernel-parameters.txt
> > +++ b/Documentation/kernel-parameters.txt
> > @@ -888,6 +888,10 @@ and is between 256 and 4096 characters. It is defined in the file
> > nomerge
> > forcesac
> > soft
> > + fullflush
> > + Flush IO/TLB at every deallocation
> > + nofullflush
> > + Flush IO/TLB only when addresses are reused (default)
>
> And you don't need to add 'fullflush' to the generic place too.
>
> 'fullflush' will be supported with only GART and AMD IOMMU. So adding
> the description of it to both GART and AMD IOMMU should be fine.
>
> 'fullflush' has the same meaning for both IOMMUs. That's nice
> consistency, I think.
Huh? The whole point of this patch was to have a common option between
IOMMUs to disable lazy IOTLB flushing. This was suggested by _you_ and
the only reason I wrote this patch.
After this patch we can change other IOMMU implementations with lazy
flushing to use that parameter too.
Joerg
--
| AMD Saxony Limited Liability Company & Co. KG
Operating | Wilschdorfer Landstr. 101, 01109 Dresden, Germany
System | Register Court Dresden: HRA 4896
Research | General Partner authorized to represent:
Center | AMD Saxony LLC (Wilmington, Delaware, US)
| General Manager of AMD Saxony LLC: Dr. Hans-R. Deppe, Thomas McCoy
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [GIT PULL] AMD IOMMU updates for 2.6.28
2008-09-19 11:52 ` Joerg Roedel
@ 2008-09-19 12:24 ` FUJITA Tomonori
2008-09-19 12:34 ` Joerg Roedel
0 siblings, 1 reply; 11+ messages in thread
From: FUJITA Tomonori @ 2008-09-19 12:24 UTC (permalink / raw)
To: joerg.roedel; +Cc: fujita.tomonori, mingo, linux-kernel
On Fri, 19 Sep 2008 13:52:59 +0200
Joerg Roedel <joerg.roedel@amd.com> wrote:
> On Fri, Sep 19, 2008 at 08:47:54PM +0900, FUJITA Tomonori wrote:
> > On Fri, 19 Sep 2008 20:23:50 +0900
> > FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> wrote:
> >
> > > On Fri, 19 Sep 2008 13:02:40 +0200
> > > Joerg Roedel <joerg.roedel@amd.com> wrote:
> > >
> > > > On Fri, Sep 19, 2008 at 07:51:11PM +0900, FUJITA Tomonori wrote:
> > > > > On Fri, 19 Sep 2008 12:39:23 +0200
> > > > > Joerg Roedel <joerg.roedel@amd.com> wrote:
> > > > >
> > > > > > On Fri, Sep 19, 2008 at 07:28:13PM +0900, FUJITA Tomonori wrote:
> > > > > > > On Fri, 19 Sep 2008 12:07:11 +0200
> > > > > > > Joerg Roedel <joerg.roedel@amd.com> wrote:
> > > > > > >
> > > > > > > > Hi Ingo,
> > > > > > > >
> > > > > > > > please pull the updates for the AMD IOMMU driver for the 2.6.28 merge
> > > > > > > > window. Most of the patches had been sent to LKML for review and got
> > > > > > > > comments. One patch touches the GART driver and was added after an
> > > > > > > > objection with a patch previously in this series. Please pull.
> > > > > > > >
> > > > > > > > The following changes since commit 74546a8cd9a4e2c26a15a534f0be2f9cc08ae675:
> > > > > > > > Ingo Molnar (1):
> > > > > > > > Revert "fix warning in: "x86: HPET_MSI Initialise per-cpu HPET timers""
> > > > > > > >
> > > > > > > > are available in the git repository at:
> > > > > > > >
> > > > > > > > git://git.kernel.org/pub/scm/linux/kernel/git/joro/linux-2.6-iommu.git iommu-updates-2.6.28
> > > > > > > >
> > > > > > > > FUJITA Tomonori (1):
> > > > > > > > AMD IOMMU: avoid unnecessary low zone allocation in alloc_coherent
> > > > > > > >
> > > > > > > > Joerg Roedel (24):
> > > > > > > > AMD IOMMU: check for invalid device pointers
> > > > > > > > AMD IOMMU: move TLB flushing to the map/unmap helper functions
> > > > > > > > x86: move GART TLB flushing options to generic code
> > > > > > >
> > > > > > > As I wrote, I don't think that this GART patch is the right approach.
> > > > > >
> > > > > > I don't thinks its clean to leave nofullflush in GART code and move
> > > > > > fullflush to generic code only.
> > > > >
> > > > > It's not clean for GART but clean for other IOMMUs.
> > > >
> > > > So its unclean anyway. It doesn't matter if for GART or for AMD IOMMU.
> > > >
> > > > > > If we move something then both. But feel
> > > > > > free to submit a patch that removes the nofullflush option. I would not
> > > > > > disagree with that.
> > > > >
> > > > > I'm not sure we can remove an option that we added. If we can, please
> > > > > remove it now. There is no point to make the meaningless option
> > > > > generic.
> > > >
> > > > I don't added this option. I just moved it to generic code from the
> > >
> > > You added it to the generic place. Moving it to the generic place
> > > means adding it to the generic place.
> > >
> > > There is no difference in the end. Now 'nofullflush' is listed as the
> > > generic place.
> > >
> > > diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt
> > > index c2e00ee..569527e 100644
> > > --- a/Documentation/kernel-parameters.txt
> > > +++ b/Documentation/kernel-parameters.txt
> > > @@ -888,6 +888,10 @@ and is between 256 and 4096 characters. It is defined in the file
> > > nomerge
> > > forcesac
> > > soft
> > > + fullflush
> > > + Flush IO/TLB at every deallocation
> > > + nofullflush
> > > + Flush IO/TLB only when addresses are reused (default)
> >
> > And you don't need to add 'fullflush' to the generic place too.
> >
> > 'fullflush' will be supported with only GART and AMD IOMMU. So adding
> > the description of it to both GART and AMD IOMMU should be fine.
> >
> > 'fullflush' has the same meaning for both IOMMUs. That's nice
> > consistency, I think.
>
> Huh? The whole point of this patch was to have a common option between
> IOMMUs to disable lazy IOTLB flushing. This was suggested by _you_ and
> the only reason I wrote this patch.
You misunderstand what I meant. I'm sorry if my explanation is not
clear.
> After this patch we can change other IOMMU implementations with lazy
> flushing to use that parameter too.
I'm not sure that Calgary wants to support such option. It always uses
lazy flushing.
What I don't like is that there is no consistency about the option
name for lazy flushing. It doesn't mean that we move the option to the
generic place.
Here's my first reply:
=
Would it be nice to have consistency of IOMMU parameters?
VT-d also has the kernel-boot option for this lazy flushing trick
though VT-d 'strict' option is more vague than 'unmap_flush'
=
What I meant that using the option name 'strict' that VT-d uses for
lazy flushing for AMD IOMMU would be better than introducing a new
option name, "unmap_flush" for AMD IOMMU though I don't think that
'strict' is the good name.
Seems 'fullflush' is better than 'strict'. So I think that it's better
to use 'fullflush' for AMD IMMU rather introducing a new name,
'unmap_flush'. But again, it doesn't mean that 'fullflush' moves to
the generic place.
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [GIT PULL] AMD IOMMU updates for 2.6.28
2008-09-19 12:24 ` FUJITA Tomonori
@ 2008-09-19 12:34 ` Joerg Roedel
2008-09-19 13:01 ` FUJITA Tomonori
0 siblings, 1 reply; 11+ messages in thread
From: Joerg Roedel @ 2008-09-19 12:34 UTC (permalink / raw)
To: FUJITA Tomonori; +Cc: mingo, linux-kernel
On Fri, Sep 19, 2008 at 09:24:18PM +0900, FUJITA Tomonori wrote:
> On Fri, 19 Sep 2008 13:52:59 +0200
> Joerg Roedel <joerg.roedel@amd.com> wrote:
>
> > On Fri, Sep 19, 2008 at 08:47:54PM +0900, FUJITA Tomonori wrote:
> > > On Fri, 19 Sep 2008 20:23:50 +0900
> > > FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> wrote:
> > >
> > > And you don't need to add 'fullflush' to the generic place too.
> > >
> > > 'fullflush' will be supported with only GART and AMD IOMMU. So adding
> > > the description of it to both GART and AMD IOMMU should be fine.
> > >
> > > 'fullflush' has the same meaning for both IOMMUs. That's nice
> > > consistency, I think.
> >
> > Huh? The whole point of this patch was to have a common option between
> > IOMMUs to disable lazy IOTLB flushing. This was suggested by _you_ and
> > the only reason I wrote this patch.
>
> You misunderstand what I meant. I'm sorry if my explanation is not
> clear.
>
>
> > After this patch we can change other IOMMU implementations with lazy
> > flushing to use that parameter too.
>
> I'm not sure that Calgary wants to support such option. It always uses
> lazy flushing.
>
>
> What I don't like is that there is no consistency about the option
> name for lazy flushing. It doesn't mean that we move the option to the
> generic place.
>
> Here's my first reply:
>
> =
> Would it be nice to have consistency of IOMMU parameters?
>
> VT-d also has the kernel-boot option for this lazy flushing trick
> though VT-d 'strict' option is more vague than 'unmap_flush'
> =
>
> What I meant that using the option name 'strict' that VT-d uses for
> lazy flushing for AMD IOMMU would be better than introducing a new
> option name, "unmap_flush" for AMD IOMMU though I don't think that
> 'strict' is the good name.
>
>
> Seems 'fullflush' is better than 'strict'. So I think that it's better
> to use 'fullflush' for AMD IMMU rather introducing a new name,
> 'unmap_flush'. But again, it doesn't mean that 'fullflush' moves to
> the generic place.
Ok, so now we have fullflush, which makes sense for all x86 hardware
IOMMUs except maybe Calgary (from what I know about Calgary fullflush
can be implemented there only with a abyssal performance penalty nobody
is willing to pay). So it makes sense to have the option in the generic
place. But we can surely add a comment that it does not affect Calgary
to the kernel documentation (and change VT-d to use that parameter too).
But the AMD IOMMU update chain is not the right place for making big
changes to other IOMMUs.
Joerg
--
| AMD Saxony Limited Liability Company & Co. KG
Operating | Wilschdorfer Landstr. 101, 01109 Dresden, Germany
System | Register Court Dresden: HRA 4896
Research | General Partner authorized to represent:
Center | AMD Saxony LLC (Wilmington, Delaware, US)
| General Manager of AMD Saxony LLC: Dr. Hans-R. Deppe, Thomas McCoy
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [GIT PULL] AMD IOMMU updates for 2.6.28
2008-09-19 12:34 ` Joerg Roedel
@ 2008-09-19 13:01 ` FUJITA Tomonori
0 siblings, 0 replies; 11+ messages in thread
From: FUJITA Tomonori @ 2008-09-19 13:01 UTC (permalink / raw)
To: joerg.roedel; +Cc: fujita.tomonori, mingo, linux-kernel
On Fri, 19 Sep 2008 14:34:26 +0200
Joerg Roedel <joerg.roedel@amd.com> wrote:
> On Fri, Sep 19, 2008 at 09:24:18PM +0900, FUJITA Tomonori wrote:
> > On Fri, 19 Sep 2008 13:52:59 +0200
> > Joerg Roedel <joerg.roedel@amd.com> wrote:
> >
> > > On Fri, Sep 19, 2008 at 08:47:54PM +0900, FUJITA Tomonori wrote:
> > > > On Fri, 19 Sep 2008 20:23:50 +0900
> > > > FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> wrote:
> > > >
> > > > And you don't need to add 'fullflush' to the generic place too.
> > > >
> > > > 'fullflush' will be supported with only GART and AMD IOMMU. So adding
> > > > the description of it to both GART and AMD IOMMU should be fine.
> > > >
> > > > 'fullflush' has the same meaning for both IOMMUs. That's nice
> > > > consistency, I think.
> > >
> > > Huh? The whole point of this patch was to have a common option between
> > > IOMMUs to disable lazy IOTLB flushing. This was suggested by _you_ and
> > > the only reason I wrote this patch.
> >
> > You misunderstand what I meant. I'm sorry if my explanation is not
> > clear.
> >
> >
> > > After this patch we can change other IOMMU implementations with lazy
> > > flushing to use that parameter too.
> >
> > I'm not sure that Calgary wants to support such option. It always uses
> > lazy flushing.
> >
> >
> > What I don't like is that there is no consistency about the option
> > name for lazy flushing. It doesn't mean that we move the option to the
> > generic place.
> >
> > Here's my first reply:
> >
> > =
> > Would it be nice to have consistency of IOMMU parameters?
> >
> > VT-d also has the kernel-boot option for this lazy flushing trick
> > though VT-d 'strict' option is more vague than 'unmap_flush'
> > =
> >
> > What I meant that using the option name 'strict' that VT-d uses for
> > lazy flushing for AMD IOMMU would be better than introducing a new
> > option name, "unmap_flush" for AMD IOMMU though I don't think that
> > 'strict' is the good name.
> >
> >
> > Seems 'fullflush' is better than 'strict'. So I think that it's better
> > to use 'fullflush' for AMD IMMU rather introducing a new name,
> > 'unmap_flush'. But again, it doesn't mean that 'fullflush' moves to
> > the generic place.
>
> Ok, so now we have fullflush, which makes sense for all x86 hardware
> IOMMUs except maybe Calgary (from what I know about Calgary fullflush
> can be implemented there only with a abyssal performance penalty nobody
> is willing to pay). So it makes sense to have the option in the generic
> place.
Not sure. It would make sense but maybe not.
But it's the different topic. Making a generic option that affects all
the IOMMUs is an important issue for everyone. All the parties need to
discuss it and agree.
> But we can surely add a comment that it does not affect Calgary
> to the kernel documentation (and change VT-d to use that parameter too).
> But the AMD IOMMU update chain is not the right place for making big
> changes to other IOMMUs.
Yes, that's the point. We should not have such important change in AMD
IOMMU updates.
So please just make 'fullflush' as AMD IOMMU's option.
^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2008-09-19 13:02 UTC | newest]
Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-09-19 10:07 [GIT PULL] AMD IOMMU updates for 2.6.28 Joerg Roedel
2008-09-19 10:28 ` FUJITA Tomonori
2008-09-19 10:39 ` Joerg Roedel
2008-09-19 10:51 ` FUJITA Tomonori
2008-09-19 11:02 ` Joerg Roedel
2008-09-19 11:23 ` FUJITA Tomonori
2008-09-19 11:47 ` FUJITA Tomonori
2008-09-19 11:52 ` Joerg Roedel
2008-09-19 12:24 ` FUJITA Tomonori
2008-09-19 12:34 ` Joerg Roedel
2008-09-19 13:01 ` FUJITA Tomonori
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.