From: Joerg Roedel <joro@8bytes.org>
To: "Li, Zhen-Hua" <zhen-hual@hp.com>
Cc: dwmw2@infradead.org, indou.takao@jp.fujitsu.com, bhe@redhat.com,
vgoyal@redhat.com, dyoung@redhat.com,
iommu@lists.linux-foundation.org, linux-kernel@vger.kernel.org,
linux-pci@vger.kernel.org, kexec@lists.infradead.org,
alex.williamson@redhat.com, ddutile@redhat.com,
ishii.hironobu@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
Subject: Re: [PATCH v8 02/10] iommu/vt-d: Items required for kdump
Date: Mon, 12 Jan 2015 16:22:08 +0100 [thread overview]
Message-ID: <20150112152207.GC6343@8bytes.org> (raw)
In-Reply-To: <1421046388-27925-3-git-send-email-zhen-hual@hp.com>
On Mon, Jan 12, 2015 at 03:06:20PM +0800, Li, Zhen-Hua wrote:
> +
> +#ifdef CONFIG_CRASH_DUMP
> +
> +/*
> + * Fix Crashdump failure caused by leftover DMA through a hardware IOMMU
> + *
> + * Fixes the crashdump kernel to deal with an active iommu and legacy
> + * DMA from the (old) panicked kernel in a manner similar to how legacy
> + * DMA is handled when no hardware iommu was in use by the old kernel --
> + * allow the legacy DMA to continue into its current buffers.
> + *
> + * In the crashdump kernel, this code:
> + * 1. skips disabling the IOMMU's translating of IO Virtual Addresses (IOVA).
> + * 2. Do not re-enable IOMMU's translating.
> + * 3. In kdump kernel, use the old root entry table.
> + * 4. Leaves the current translations in-place so that legacy DMA will
> + * continue to use its current buffers.
> + * 5. Allocates to the device drivers in the crashdump kernel
> + * portions of the iova address ranges that are different
> + * from the iova address ranges that were being used by the old kernel
> + * at the time of the panic.
> + *
> + */
It looks like you are still copying the io-page-tables from the old
kernel into the kdump kernel, is that right? With the approach that was
proposed you only need to copy over the context entries 1-1. They are
still pointing to the page-tables in the old kernels memory (which is
just fine).
The root-entry of the old kernel is also re-used, and when the kdump
kernel starts to use a device, its context entry is updated to point to
a newly allocated page-table.
Joerg
next prev parent reply other threads:[~2015-01-12 15:22 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-01-12 7:06 [PATCH v8 0/10] iommu/vt-d: Fix intel vt-d faults in kdump kernel Li, Zhen-Hua
2015-01-12 7:06 ` [PATCH v8 01/10] iommu/vt-d: Update iommu_attach_domain() and its callers Li, Zhen-Hua
2015-01-12 15:18 ` Joerg Roedel
2015-01-13 1:28 ` Li, ZhenHua
2015-01-12 7:06 ` [PATCH v8 02/10] iommu/vt-d: Items required for kdump Li, Zhen-Hua
2015-01-12 15:22 ` Joerg Roedel [this message]
2015-01-12 15:29 ` Vivek Goyal
2015-01-12 16:06 ` Joerg Roedel
2015-01-12 16:15 ` Vivek Goyal
2015-01-12 16:48 ` Joerg Roedel
2015-01-13 11:41 ` Baoquan He
2015-01-13 8:12 ` Li, ZhenHua
2015-01-13 11:52 ` Joerg Roedel
2015-01-12 7:06 ` [PATCH v8 03/10] iommu/vt-d: Add domain-id functions Li, Zhen-Hua
2015-01-12 7:06 ` [PATCH v8 04/10] iommu/vt-d: functions to copy data from old mem Li, Zhen-Hua
2015-01-12 7:06 ` [PATCH v8 05/10] iommu/vt-d: Add functions to load and save old re Li, Zhen-Hua
2015-01-12 7:06 ` [PATCH v8 06/10] iommu/vt-d: datatypes and functions used for kdump Li, Zhen-Hua
2015-01-15 3:28 ` Baoquan He
2015-01-15 5:45 ` Li, ZhenHua
2015-01-15 7:01 ` Baoquan He
2015-01-12 7:06 ` [PATCH v8 07/10] iommu/vt-d: enable kdump support in iommu module Li, Zhen-Hua
2015-01-12 7:06 ` [PATCH v8 08/10] iommu/vt-d: assign new page table for dma_map Li, Zhen-Hua
2015-01-12 7:06 ` [PATCH v8 09/10] iommu/vt-d: Copy functions for irte Li, Zhen-Hua
2015-01-12 7:06 ` [PATCH v8 10/10] iommu/vt-d: Use old irte in kdump kernel Li, Zhen-Hua
2015-01-12 8:00 ` [PATCH v8 0/10] iommu/vt-d: Fix intel vt-d faults " Li, ZhenHua
2015-01-12 9:07 ` Baoquan He
2015-01-12 9:28 ` 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=20150112152207.GC6343@8bytes.org \
--to=joro@8bytes.org \
--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=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 \
--cc=zhen-hual@hp.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).