lkml.org 
[lkml]   [2008]   [Sep]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH 03/23] AMD IOMMU: implement lazy IO/TLB flushing
    On Thu, Sep 18, 2008 at 04:20:18AM +0900, FUJITA Tomonori wrote:
    > On Wed, 17 Sep 2008 18:52:37 +0200
    > Joerg Roedel <joerg.roedel@amd.com> wrote:
    >
    > > The IO/TLB flushing on every unmaping operation is the most expensive
    > > part there and not strictly necessary. It is sufficient to do the flush
    > > before any entries are reused. This is patch implements lazy IO/TLB
    > > flushing which does exactly this.
    > >
    > > Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
    > > ---
    > > Documentation/kernel-parameters.txt | 5 +++++
    > > arch/x86/kernel/amd_iommu.c | 26 ++++++++++++++++++++++----
    > > arch/x86/kernel/amd_iommu_init.c | 10 +++++++++-
    > > include/asm-x86/amd_iommu_types.h | 9 +++++++++
    > > 4 files changed, 45 insertions(+), 5 deletions(-)
    > >
    > > diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt
    > > index c2e00ee..5f0aefe 100644
    > > --- a/Documentation/kernel-parameters.txt
    > > +++ b/Documentation/kernel-parameters.txt
    > > @@ -284,6 +284,11 @@ and is between 256 and 4096 characters. It is defined in the file
    > > isolate - enable device isolation (each device, as far
    > > as possible, will get its own protection
    > > domain)
    > > + unmap_flush - 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
    > > +
    >
    > Would it be nice to have consistency of IOMMU parameters?

    True. We should merge common parameters across IOMMUs into the
    iommu= parameter some time in the future, I think. It would also be the
    place for the IOMMU size parameter.

    > VT-d also has the kernel-boot option for this lazy flushing trick
    > though VT-d 'strict' option is more vague than 'unmap_flush'
    >
    > It would be also nice to have consistency of IOMMU behavior.
    >
    > VT-d enables the lazy flushing trick by default and has the boot
    > option to disable it.

    This is exactly what AMD IOMMU with this patch does too. The
    amd_iommu=unmap_flush parameter disables lazy IO/TLB flushing.


    Joerg


    \
     
     \ /
      Last update: 2008-09-17 21:31    [W:4.643 / U:0.052 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site