Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1636706
| From | David Woodhouse <dwmw2@infradead.org> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | Re: [PATCH] iommu: intel: Flush the IOTLB to get rid of the initial kdump mappings |
| Date | 2017-05-05 22:20 +0200 |
| Message-ID | <tDRRL-6Av-7@gated-at.bofh.it> (permalink) |
| References | <tDQsG-5uu-19@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
[Multipart message — attachments visible in raw view] - view raw
On Fri, 2017-05-05 at 11:39 -0700, KarimAllah Ahmed wrote:
> Ever since commit 091d42e43d ("iommu/vt-d: Copy translation tables from
> old kernel") the kdump kernel copies the IOMMU context tables from the
> previous kernel. Each device mappings will be destroyed once the driver
> for the respective device takes over.
>
> This unfortunately breaks the workflow of mapping and unmapping a new
> context to the IOMMU. The mapping function assumes that either:
>
> 1) Unmapping did the proper IOMMU flushing and it only ever flush if the
> IOMMU unit supports caching invalid entries.
> 2) The system just booted and the initialization code took care of
> flushing all IOMMU caches.
>
> This assumption is not true for the kdump kernel since the context
> tables have been copied from the previous kernel and translations could
> have been cached ever since. So make sure to flush the IOTLB as well
> when we destroy these old copied mappings.
>
> Cc: Joerg Roedel <joro@8bytes.org>
> Cc: David Woodhouse <dwmw2@infradead.org>
> Cc: David Woodhouse <dwmw@amazon.co.uk>
> Cc: Anthony Liguori <aliguori@amazon.com>
> Signed-off-by: KarimAllah Ahmed <karahmed@amazon.de>
Acked-by: David Woodhouse <dwmw@amazon.co.uk>
Cc: stable@vger.kernel.org v4.2+
I'm still moderately unhappy about the whole "preserve existing
mappings during kdump" thing, and wanted to have a PCI quirk for the
known-broken-can't-be-reset-after-fault devices, and trigger this
behaviour only then. Although I have a vague recollection of there
being a slightly saner justification for it... perhaps this should be
documented, if there is one?
Back to linux.kernel | Previous | Next — Previous in thread | Find similar | Unroll thread
[PATCH] iommu: intel: Flush the IOTLB to get rid of the initial kdump mappings KarimAllah Ahmed <karahmed@amazon.de> - 2017-05-05 20:50 +0200 Re: [PATCH] iommu: intel: Flush the IOTLB to get rid of the initial kdump mappings David Woodhouse <dwmw2@infradead.org> - 2017-05-05 22:20 +0200
csiph-web