lkml.org 
[lkml]   [2015]   [Jun]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH 00/17] Fixes and Cleanups for the Intel VT-d driver
    Finished testing on my HP huge system, SuperDome X.
    It works well.

    Thanks
    Zhenhua

    On 06/05/2015 10:10 PM, Joerg Roedel wrote:
    > Hey,
    >
    > here are a couple of patches to fix the fall-out from the
    > patch set fixing the kdump faults with VT-d enabled. A few
    > important issues have been fixed:
    >
    > * Moved sleeping functions out of atomic sections,
    > mainly iremap_cache/iounmap.
    >
    > * Mark domain ids used in the old kernel as reserved
    > in the kdump kernel, so that any new domains don't
    > interfere with domains from the old kernel
    >
    > * Mark all IRT entries from the old kernel as
    > reservered in the new kernel, so that we don't
    > overwrite an entry which might still be in use by
    > a device
    >
    > * Only try to load anything from the old kernel when
    > we are in a kdump kernel. If we find the iommu
    > hardware enabled and we are not in a kdump kernel,
    > just disable the iommu and proceed with
    > initialization.
    >
    > * Fix a compile error
    >
    > Besides that I also cleaned up the code to simplify it:
    >
    > * Move necessary initialization steps before the
    > root entry table and the irq remapping table is
    > programmed into hardware. This makes sure QI is
    > initialized so that we can flush the iommu caches
    > when hardware got the new tables.
    >
    > * Make the new root entry table and irq remapping
    > table visible to hardware immediatly after they
    > are created and loaded with the data from the old
    > kernel. This allows to remove the code to update
    > both, the old and the new version of the table at
    > the same time.
    >
    > * Clean up log messages from the VT-d driver to have
    > a common prefix that can be grepped for.
    >
    > * Remove unused code
    >
    > The changes have been tested by me an Baoquan He. I'll plan
    > to put them into the x86/vt-d branch for v4.2.
    >
    > Regards,
    >
    > Joerg
    >
    > Joerg Roedel (17):
    > iommu/vt-d: Fix compile error when CONFIG_INTEL_IOMMU=n
    > iommu/vt-d: Remove __iommu_save_to_oldmem() function
    > iommu/vt-d: Make two functions static
    > iommu/vt-d: Load old data structures only in kdump kernel
    > iommu/vt-d: Mark root-entry present in set_root_entry
    > iommu/vt-d: Rework loading of old root-entry table
    > iommu/vt-d: Copy context-tables outside of spin_lock
    > iommu/vt-d: Don't reuse domain-ids from old kernel
    > iommu/vt-d: Clean up log messages in intel-iommu.c
    > iommu/vt-d: Allocate irq remapping table bitmap with GFP_KERNEL
    > iommu/vt-d: Move QI initialization to intel_setup_irq_remapping
    > iommu/vt-d: Move EIM detection to intel_prepare_irq_remapping
    > iommu/vt-d: Split up iommu_set_irq_remapping
    > iommu/vt-d: Move kdump pointer intialization to __iommu_load_old_irte
    > iommu/vt-d: Mark irt entries from old kernel as allocated
    > iommu/vt-d: Copy old irte in intel_setup_irq_remapping
    > iommu/vt-d: Remove update code for old ir-table
    >
    > drivers/iommu/dmar.c | 26 +-
    > drivers/iommu/intel-iommu.c | 463 ++++++++++++++----------------------
    > drivers/iommu/intel_irq_remapping.c | 263 +++++++++-----------
    > include/linux/intel-iommu.h | 17 +-
    > 4 files changed, 299 insertions(+), 470 deletions(-)
    >



    \
     
     \ /
      Last update: 2015-06-08 10:21    [W:2.552 / U:0.092 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site