All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Li, ZhenHua" <zhen-hual@hp.com>
To: Joerg Roedel <joro@8bytes.org>
Cc: rwright@hp.com, linux-pci@vger.kernel.org, ddutile@redhat.com,
	billsumnerlinux@gmail.com, indou.takao@jp.fujitsu.com,
	bhe@redhat.com, jerry.hoemann@hp.com, doug.hatch@hp.com,
	dyoung@redhat.com, vgoyal@redhat.com, jroedel@suse.de,
	tom.vaden@hp.com, lisa.mitchell@hp.com,
	alex.williamson@redhat.com, "Li, ZhenHua" <zhen-hual@hp.com>,
	bhelgaas@google.com, li.zhang6@hp.com, kexec@lists.infradead.org,
	linux-kernel@vger.kernel.org, iommu@lists.linux-foundation.org,
	ishii.hironobu@jp.fujitsu.com, dwmw2@infradead.org
Subject: Re: [PATCH 00/17] Fixes and Cleanups for the Intel VT-d driver
Date: Mon, 08 Jun 2015 16:06:45 +0800	[thread overview]
Message-ID: <55754D15.9090205@hp.com> (raw)
In-Reply-To: <1433513463-19128-1-git-send-email-joro@8bytes.org>

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(-)
>


_______________________________________________
kexec mailing list
kexec@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/kexec

WARNING: multiple messages have this Message-ID (diff)
From: "Li, ZhenHua" <zhen-hual-VXdhtT5mjnY@public.gmane.org>
To: Joerg Roedel <joro-zLv9SwRftAIdnm+yROfE0A@public.gmane.org>
Cc: rwright-VXdhtT5mjnY@public.gmane.org,
	linux-pci-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	billsumnerlinux-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org,
	bhe-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org,
	doug.hatch-VXdhtT5mjnY@public.gmane.org,
	dyoung-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org,
	vgoyal-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org,
	jroedel-l3A5Bk7waGM@public.gmane.org,
	tom.vaden-VXdhtT5mjnY@public.gmane.org,
	lisa.mitchell-VXdhtT5mjnY@public.gmane.org, "Li,
	ZhenHua" <zhen-hual-VXdhtT5mjnY@public.gmane.org>,
	bhelgaas-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org,
	li.zhang6-VXdhtT5mjnY@public.gmane.org,
	kexec-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org,
	ishii.hironobu-+CUm20s59erQFUHtdCDX3A@public.gmane.org,
	dwmw2-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org
Subject: Re: [PATCH 00/17] Fixes and Cleanups for the Intel VT-d driver
Date: Mon, 08 Jun 2015 16:06:45 +0800	[thread overview]
Message-ID: <55754D15.9090205@hp.com> (raw)
In-Reply-To: <1433513463-19128-1-git-send-email-joro-zLv9SwRftAIdnm+yROfE0A@public.gmane.org>

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(-)
>

WARNING: multiple messages have this Message-ID (diff)
From: "Li, ZhenHua" <zhen-hual@hp.com>
To: Joerg Roedel <joro@8bytes.org>
Cc: iommu@lists.linux-foundation.org, bhe@redhat.com,
	dwmw2@infradead.org, vgoyal@redhat.com, dyoung@redhat.com,
	alex.williamson@redhat.com, ddutile@redhat.com,
	ishii.hironobu@jp.fujitsu.com, indou.takao@jp.fujitsu.com,
	bhelgaas@google.com, doug.hatch@hp.com, jerry.hoemann@hp.com,
	tom.vaden@hp.com, li.zhang6@hp.com, lisa.mitchell@hp.com,
	billsumnerlinux@gmail.com, rwright@hp.com,
	linux-kernel@vger.kernel.org, linux-pci@vger.kernel.org,
	kexec@lists.infradead.org, jroedel@suse.de, "Li,
	ZhenHua" <zhen-hual@hp.com>
Subject: Re: [PATCH 00/17] Fixes and Cleanups for the Intel VT-d driver
Date: Mon, 08 Jun 2015 16:06:45 +0800	[thread overview]
Message-ID: <55754D15.9090205@hp.com> (raw)
In-Reply-To: <1433513463-19128-1-git-send-email-joro@8bytes.org>

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(-)
>


  parent reply	other threads:[~2015-06-08  8:08 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-06-05 14:10 [PATCH 00/17] Fixes and Cleanups for the Intel VT-d driver Joerg Roedel
2015-06-05 14:10 ` Joerg Roedel
2015-06-05 14:10 ` [PATCH 07/17] iommu/vt-d: Copy context-tables outside of spin_lock Joerg Roedel
     [not found] ` <1433513463-19128-1-git-send-email-joro-zLv9SwRftAIdnm+yROfE0A@public.gmane.org>
2015-06-05 14:10   ` [PATCH 01/17] iommu/vt-d: Fix compile error when CONFIG_INTEL_IOMMU=n Joerg Roedel
2015-06-05 14:10     ` Joerg Roedel
2015-06-05 14:10   ` [PATCH 02/17] iommu/vt-d: Remove __iommu_save_to_oldmem() function Joerg Roedel
2015-06-05 14:10     ` Joerg Roedel
2015-06-05 14:10   ` [PATCH 03/17] iommu/vt-d: Make two functions static Joerg Roedel
2015-06-05 14:10     ` Joerg Roedel
2015-06-05 14:10   ` [PATCH 04/17] iommu/vt-d: Load old data structures only in kdump kernel Joerg Roedel
2015-06-05 14:10     ` Joerg Roedel
2015-06-05 14:10   ` [PATCH 05/17] iommu/vt-d: Mark root-entry present in set_root_entry Joerg Roedel
2015-06-05 14:10     ` Joerg Roedel
2015-06-05 14:10   ` [PATCH 06/17] iommu/vt-d: Rework loading of old root-entry table Joerg Roedel
2015-06-05 14:10     ` Joerg Roedel
2015-06-05 14:10   ` [PATCH 08/17] iommu/vt-d: Don't reuse domain-ids from old kernel Joerg Roedel
2015-06-05 14:10     ` Joerg Roedel
2015-06-05 14:10   ` [PATCH 09/17] iommu/vt-d: Clean up log messages in intel-iommu.c Joerg Roedel
2015-06-05 14:10     ` Joerg Roedel
2015-06-05 14:10   ` [PATCH 10/17] iommu/vt-d: Allocate irq remapping table bitmap with GFP_KERNEL Joerg Roedel
2015-06-05 14:10     ` Joerg Roedel
2015-06-05 14:10   ` [PATCH 11/17] iommu/vt-d: Move QI initialization to intel_setup_irq_remapping Joerg Roedel
2015-06-05 14:10     ` Joerg Roedel
2015-06-05 14:10   ` [PATCH 12/17] iommu/vt-d: Move EIM detection to intel_prepare_irq_remapping Joerg Roedel
2015-06-05 14:10     ` Joerg Roedel
2015-06-05 14:10   ` [PATCH 13/17] iommu/vt-d: Split up iommu_set_irq_remapping Joerg Roedel
2015-06-05 14:10     ` Joerg Roedel
2015-06-05 14:11   ` [PATCH 14/17] iommu/vt-d: Move kdump pointer intialization to __iommu_load_old_irte Joerg Roedel
2015-06-05 14:11     ` Joerg Roedel
2015-06-05 14:11   ` [PATCH 15/17] iommu/vt-d: Mark irt entries from old kernel as allocated Joerg Roedel
2015-06-05 14:11     ` Joerg Roedel
2015-06-05 14:11   ` [PATCH 17/17] iommu/vt-d: Remove update code for old ir-table Joerg Roedel
2015-06-05 14:11     ` Joerg Roedel
2015-06-05 14:11 ` [PATCH 16/17] iommu/vt-d: Copy old irte in intel_setup_irq_remapping Joerg Roedel
2015-06-08  8:06 ` Li, ZhenHua [this message]
2015-06-08  8:06   ` [PATCH 00/17] Fixes and Cleanups for the Intel VT-d driver Li, ZhenHua
2015-06-08  8:06   ` Li, ZhenHua
2015-06-08  8:23   ` Joerg Roedel
2015-06-08  8:23     ` Joerg Roedel
2015-06-08  8:23     ` Joerg Roedel
2015-06-08  8:26     ` Li, ZhenHua
2015-06-08  8:26       ` Li, ZhenHua

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=55754D15.9090205@hp.com \
    --to=zhen-hual@hp.com \
    --cc=alex.williamson@redhat.com \
    --cc=bhe@redhat.com \
    --cc=bhelgaas@google.com \
    --cc=billsumnerlinux@gmail.com \
    --cc=ddutile@redhat.com \
    --cc=doug.hatch@hp.com \
    --cc=dwmw2@infradead.org \
    --cc=dyoung@redhat.com \
    --cc=indou.takao@jp.fujitsu.com \
    --cc=iommu@lists.linux-foundation.org \
    --cc=ishii.hironobu@jp.fujitsu.com \
    --cc=jerry.hoemann@hp.com \
    --cc=joro@8bytes.org \
    --cc=jroedel@suse.de \
    --cc=kexec@lists.infradead.org \
    --cc=li.zhang6@hp.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pci@vger.kernel.org \
    --cc=lisa.mitchell@hp.com \
    --cc=rwright@hp.com \
    --cc=tom.vaden@hp.com \
    --cc=vgoyal@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.