From: Baoquan He <bhe@redhat.com>
To: joro@8bytes.org
Cc: xlpang@redhat.com, dyoung@redhat.com,
iommu@lists.linux-foundation.org, kexec@lists.infradead.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH v7 00/12] Fix kdump faults on system with amd iommu
Date: Sat, 24 Dec 2016 11:47:05 +0800 [thread overview]
Message-ID: <20161224034705.GE25035@x1> (raw)
In-Reply-To: <1480050799-1237-1-git-send-email-bhe@redhat.com>
Hi Joerg,
Ping!
Could you help review this version? Not sure this could catch up to
v4.10 merging.
Thanks
Baoqaun
On 11/25/16 at 01:13pm, Baoquan He wrote:
> This is v7 post.
>
> The principle of the fix is similar to intel iommu. Just defer the assignment
> of device to domain to device driver init. In this version of post, a new
> call-back is_attach_deferred is added to iommu-ops, it's used to check whether
> we need defer the domain attach/detach in iommu-core code.
>
> v5:
> bnx2 NIC can't reset itself during driver init. Post patch to reset
> it during driver init. IO_PAGE_FAULT can't be seen anymore.
>
> Below is link of v5 post.
> https://lists.linuxfoundation.org/pipermail/iommu/2016-September/018527.html
>
> v5->v6:
> According to Joerg's comments made several below main changes:
> - Add sanity check when copy old dev tables.
>
> - If a device is set up with guest translations (DTE.GV=1), then don't
> copy that information but move the device over to an empty guest-cr3
> table and handle the faults in the PPR log (which just answer them
> with INVALID).
>
> v6->v7:
> Two main changes are made according to Joerg's suggestion:
> - Add is_attach_deferred call-back to iommu-ops. With this domain
> can be deferred to device driver init cleanly.
>
> - Allocate memory below 4G for dev table if translation pre-enabled.
> AMD engineer pointed out that it's unsafe to update the device-table
> while iommu is enabled. device-table pointer update is split up into
> two 32bit writes in the IOMMU hardware. So updating it while the IOMMU
> is enabled could have some nasty side effects.
>
> Baoquan He (12):
> iommu/amd: Detect pre enabled translation
> iommu/amd: add several helper function
> iommu/amd: Define bit fields for DTE particularly
> iommu/amd: Add function copy_dev_tables
> iommu/amd: copy old trans table from old kernel
> iommu: Add is_attach_deferred call-back to iommu-ops
> iommu/amd: Use is_attach_deferred call-back
> iommu/amd: Add sanity check of irq remap information of old dev table
> entry
> iommu/amd: Don't copy GCR3 table root pointer
> iommu/amd: Clear out the GV flag when handle deferred domain attach
> iommu: Assign the direct mapped domain to group->domain
> iommu/amd: Allocate memory below 4G for dev table if translation
> pre-enabled
>
> drivers/iommu/amd_iommu.c | 78 +++++++++-------
> drivers/iommu/amd_iommu_init.c | 201 +++++++++++++++++++++++++++++++++++++---
> drivers/iommu/amd_iommu_proto.h | 2 +
> drivers/iommu/amd_iommu_types.h | 53 ++++++++++-
> drivers/iommu/amd_iommu_v2.c | 18 +++-
> drivers/iommu/iommu.c | 9 ++
> include/linux/iommu.h | 1 +
> 7 files changed, 313 insertions(+), 49 deletions(-)
>
> --
> 2.5.5
>
_______________________________________________
kexec mailing list
kexec@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/kexec
WARNING: multiple messages have this Message-ID (diff)
From: Baoquan He <bhe-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
To: joro-zLv9SwRftAIdnm+yROfE0A@public.gmane.org
Cc: dyoung-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org,
iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org,
kexec-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org,
linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: Re: [PATCH v7 00/12] Fix kdump faults on system with amd iommu
Date: Sat, 24 Dec 2016 11:47:05 +0800 [thread overview]
Message-ID: <20161224034705.GE25035@x1> (raw)
In-Reply-To: <1480050799-1237-1-git-send-email-bhe-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
Hi Joerg,
Ping!
Could you help review this version? Not sure this could catch up to
v4.10 merging.
Thanks
Baoqaun
On 11/25/16 at 01:13pm, Baoquan He wrote:
> This is v7 post.
>
> The principle of the fix is similar to intel iommu. Just defer the assignment
> of device to domain to device driver init. In this version of post, a new
> call-back is_attach_deferred is added to iommu-ops, it's used to check whether
> we need defer the domain attach/detach in iommu-core code.
>
> v5:
> bnx2 NIC can't reset itself during driver init. Post patch to reset
> it during driver init. IO_PAGE_FAULT can't be seen anymore.
>
> Below is link of v5 post.
> https://lists.linuxfoundation.org/pipermail/iommu/2016-September/018527.html
>
> v5->v6:
> According to Joerg's comments made several below main changes:
> - Add sanity check when copy old dev tables.
>
> - If a device is set up with guest translations (DTE.GV=1), then don't
> copy that information but move the device over to an empty guest-cr3
> table and handle the faults in the PPR log (which just answer them
> with INVALID).
>
> v6->v7:
> Two main changes are made according to Joerg's suggestion:
> - Add is_attach_deferred call-back to iommu-ops. With this domain
> can be deferred to device driver init cleanly.
>
> - Allocate memory below 4G for dev table if translation pre-enabled.
> AMD engineer pointed out that it's unsafe to update the device-table
> while iommu is enabled. device-table pointer update is split up into
> two 32bit writes in the IOMMU hardware. So updating it while the IOMMU
> is enabled could have some nasty side effects.
>
> Baoquan He (12):
> iommu/amd: Detect pre enabled translation
> iommu/amd: add several helper function
> iommu/amd: Define bit fields for DTE particularly
> iommu/amd: Add function copy_dev_tables
> iommu/amd: copy old trans table from old kernel
> iommu: Add is_attach_deferred call-back to iommu-ops
> iommu/amd: Use is_attach_deferred call-back
> iommu/amd: Add sanity check of irq remap information of old dev table
> entry
> iommu/amd: Don't copy GCR3 table root pointer
> iommu/amd: Clear out the GV flag when handle deferred domain attach
> iommu: Assign the direct mapped domain to group->domain
> iommu/amd: Allocate memory below 4G for dev table if translation
> pre-enabled
>
> drivers/iommu/amd_iommu.c | 78 +++++++++-------
> drivers/iommu/amd_iommu_init.c | 201 +++++++++++++++++++++++++++++++++++++---
> drivers/iommu/amd_iommu_proto.h | 2 +
> drivers/iommu/amd_iommu_types.h | 53 ++++++++++-
> drivers/iommu/amd_iommu_v2.c | 18 +++-
> drivers/iommu/iommu.c | 9 ++
> include/linux/iommu.h | 1 +
> 7 files changed, 313 insertions(+), 49 deletions(-)
>
> --
> 2.5.5
>
WARNING: multiple messages have this Message-ID (diff)
From: Baoquan He <bhe@redhat.com>
To: joro@8bytes.org
Cc: iommu@lists.linux-foundation.org, linux-kernel@vger.kernel.org,
kexec@lists.infradead.org, dyoung@redhat.com, xlpang@redhat.com
Subject: Re: [PATCH v7 00/12] Fix kdump faults on system with amd iommu
Date: Sat, 24 Dec 2016 11:47:05 +0800 [thread overview]
Message-ID: <20161224034705.GE25035@x1> (raw)
In-Reply-To: <1480050799-1237-1-git-send-email-bhe@redhat.com>
Hi Joerg,
Ping!
Could you help review this version? Not sure this could catch up to
v4.10 merging.
Thanks
Baoqaun
On 11/25/16 at 01:13pm, Baoquan He wrote:
> This is v7 post.
>
> The principle of the fix is similar to intel iommu. Just defer the assignment
> of device to domain to device driver init. In this version of post, a new
> call-back is_attach_deferred is added to iommu-ops, it's used to check whether
> we need defer the domain attach/detach in iommu-core code.
>
> v5:
> bnx2 NIC can't reset itself during driver init. Post patch to reset
> it during driver init. IO_PAGE_FAULT can't be seen anymore.
>
> Below is link of v5 post.
> https://lists.linuxfoundation.org/pipermail/iommu/2016-September/018527.html
>
> v5->v6:
> According to Joerg's comments made several below main changes:
> - Add sanity check when copy old dev tables.
>
> - If a device is set up with guest translations (DTE.GV=1), then don't
> copy that information but move the device over to an empty guest-cr3
> table and handle the faults in the PPR log (which just answer them
> with INVALID).
>
> v6->v7:
> Two main changes are made according to Joerg's suggestion:
> - Add is_attach_deferred call-back to iommu-ops. With this domain
> can be deferred to device driver init cleanly.
>
> - Allocate memory below 4G for dev table if translation pre-enabled.
> AMD engineer pointed out that it's unsafe to update the device-table
> while iommu is enabled. device-table pointer update is split up into
> two 32bit writes in the IOMMU hardware. So updating it while the IOMMU
> is enabled could have some nasty side effects.
>
> Baoquan He (12):
> iommu/amd: Detect pre enabled translation
> iommu/amd: add several helper function
> iommu/amd: Define bit fields for DTE particularly
> iommu/amd: Add function copy_dev_tables
> iommu/amd: copy old trans table from old kernel
> iommu: Add is_attach_deferred call-back to iommu-ops
> iommu/amd: Use is_attach_deferred call-back
> iommu/amd: Add sanity check of irq remap information of old dev table
> entry
> iommu/amd: Don't copy GCR3 table root pointer
> iommu/amd: Clear out the GV flag when handle deferred domain attach
> iommu: Assign the direct mapped domain to group->domain
> iommu/amd: Allocate memory below 4G for dev table if translation
> pre-enabled
>
> drivers/iommu/amd_iommu.c | 78 +++++++++-------
> drivers/iommu/amd_iommu_init.c | 201 +++++++++++++++++++++++++++++++++++++---
> drivers/iommu/amd_iommu_proto.h | 2 +
> drivers/iommu/amd_iommu_types.h | 53 ++++++++++-
> drivers/iommu/amd_iommu_v2.c | 18 +++-
> drivers/iommu/iommu.c | 9 ++
> include/linux/iommu.h | 1 +
> 7 files changed, 313 insertions(+), 49 deletions(-)
>
> --
> 2.5.5
>
next prev parent reply other threads:[~2016-12-24 3:47 UTC|newest]
Thread overview: 42+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-11-25 5:13 [PATCH v7 00/12] Fix kdump faults on system with amd iommu Baoquan He
2016-11-25 5:13 ` Baoquan He
2016-11-25 5:13 ` Baoquan He
2016-11-25 5:13 ` [PATCH v7 01/12] iommu/amd: Detect pre enabled translation Baoquan He
2016-11-25 5:13 ` Baoquan He
2016-11-25 5:13 ` Baoquan He
2016-11-25 5:13 ` [PATCH v7 02/12] iommu/amd: add several helper function Baoquan He
2016-11-25 5:13 ` Baoquan He
2016-11-25 5:13 ` Baoquan He
2016-11-25 5:13 ` [PATCH v7 03/12] iommu/amd: Define bit fields for DTE particularly Baoquan He
2016-11-25 5:13 ` Baoquan He
2016-11-25 5:13 ` Baoquan He
2016-11-25 5:13 ` [PATCH v7 04/12] iommu/amd: Add function copy_dev_tables Baoquan He
2016-11-25 5:13 ` Baoquan He
2016-11-25 5:13 ` Baoquan He
2016-11-25 5:13 ` [PATCH v7 05/12] iommu/amd: copy old trans table from old kernel Baoquan He
2016-11-25 5:13 ` Baoquan He
2016-11-25 5:13 ` Baoquan He
2016-11-25 5:13 ` [PATCH v7 06/12] iommu: Add is_attach_deferred call-back to iommu-ops Baoquan He
2016-11-25 5:13 ` Baoquan He
2016-11-25 5:13 ` Baoquan He
2016-11-25 5:13 ` [PATCH v7 07/12] iommu/amd: Use is_attach_deferred call-back Baoquan He
2016-11-25 5:13 ` Baoquan He
2016-11-25 5:13 ` Baoquan He
2016-11-25 5:13 ` [PATCH v7 08/12] iommu/amd: Add sanity check of irq remap information of old dev table entry Baoquan He
2016-11-25 5:13 ` Baoquan He
2016-11-25 5:13 ` Baoquan He
2016-11-25 5:13 ` [PATCH v7 09/12] iommu/amd: Don't copy GCR3 table root pointer Baoquan He
2016-11-25 5:13 ` Baoquan He
2016-11-25 5:13 ` Baoquan He
2016-11-25 5:13 ` [PATCH v7 10/12] iommu/amd: Clear out the GV flag when handle deferred domain attach Baoquan He
2016-11-25 5:13 ` Baoquan He
2016-11-25 5:13 ` Baoquan He
2016-11-25 5:13 ` [PATCH v7 11/12] iommu: Assign the direct mapped domain to group->domain Baoquan He
2016-11-25 5:13 ` Baoquan He
2016-11-25 5:13 ` Baoquan He
2016-11-25 5:13 ` [PATCH v7 12/12] iommu/amd: Allocate memory below 4G for dev table if translation pre-enabled Baoquan He
2016-11-25 5:13 ` Baoquan He
2016-11-25 5:13 ` Baoquan He
2016-12-24 3:47 ` Baoquan He [this message]
2016-12-24 3:47 ` [PATCH v7 00/12] Fix kdump faults on system with amd iommu Baoquan He
2016-12-24 3:47 ` Baoquan He
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=20161224034705.GE25035@x1 \
--to=bhe@redhat.com \
--cc=dyoung@redhat.com \
--cc=iommu@lists.linux-foundation.org \
--cc=joro@8bytes.org \
--cc=kexec@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=xlpang@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.