All of lore.kernel.org
 help / color / mirror / Atom feed
From: Joerg Roedel <joro-zLv9SwRftAIdnm+yROfE0A@public.gmane.org>
To: Donald Dutile <ddutile-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
Cc: dwmw2-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org,
	iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org
Subject: Re: [PATCH] intel-iommu: Default to non-coherent for domains unattached to iommus
Date: Tue, 18 Sep 2012 13:59:37 +0200	[thread overview]
Message-ID: <20120918115937.GB9939@8bytes.org> (raw)
In-Reply-To: <1347479705-33972-1-git-send-email-ddutile-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>

On Wed, Sep 12, 2012 at 03:55:05PM -0400, Donald Dutile wrote:
> This patch was posted back in Nov 2011:
>   http://lists.linuxfoundation.org/pipermail/iommu/2011-November/003086.html
> 
> and due to discussion about the patch, it was never pulled in.
> Although the thread discussed an alternate patch to
> default to non-coherent if any IOMMU didn't support coherency,
> this alternate method was never implemented, and this bug persists.
> 
> This patch has been in RHEL6 for quite some time,
> and it wasn't noticed that it didn't get into linux upstream, 
> until a RH partner reported this error when running upstream kernels,
> and noticed how it doesn't occur on RHEL6 kernels.
> Applying this patch to an upstream kernel resolved this issue.
> 
> 
>  domain_update_iommu_coherency() currently defaults to setting
>  domains as coherent when the domain is not attached to any iommus.
>  This allows for a window in domain_context_mapping_one() where such a
>  domain can update context entries non-coherently, and only after
>  update the domain capability to clear iommu_coherency.
>  This can be seen using KVM device assignment on VT-d systems that
>  do not support coherency in the ecap register.  When a device is
>  added to a guest, a domain is created (iommu_coherency = 0), the
>  device is attached, and ranges are mapped.  If we then hot unplug
>  the device, the coherency is updated and set to the default (1)
>  since no iommus are attached to the domain.  A subsequent attach
>  of a device makes use of the same dmar domain (now marked coherent)
>  updates context entries with coherency enabled, and only disables
>  coherency as the last step in the process.
>  To fix this, switch domain_update_iommu_coherency() to use the
>  safer, non-coherent default for domains not attached to iommus.
> 
> Signed-off-by: Donald Dutile <ddutile-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
> cc: Alex Williamson <alex.williamson at redhat.com>

Hmm, who is the author? The patch looks the same as what Alex submitted
last year. I applied Alex' patch because it includes also the Acked-bys
and he seems to be the author anyway. Oh, and I added a stable-tag.


	Joerg

  parent reply	other threads:[~2012-09-18 11:59 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-09-12 19:55 [PATCH] intel-iommu: Default to non-coherent for domains unattached to iommus Donald Dutile
     [not found] ` <1347479705-33972-1-git-send-email-ddutile-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2012-09-18 11:59   ` Joerg Roedel [this message]
     [not found]     ` <20120918115937.GB9939-zLv9SwRftAIdnm+yROfE0A@public.gmane.org>
2012-09-18 13:57       ` Don Dutile
     [not found]         ` <50587DE6.3000207-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2012-09-18 14:34           ` Joerg Roedel
  -- strict thread matches above, loose matches on Subject: below --
2011-11-11 22:49 Alex Williamson
2011-11-12  0:17 ` Chris Wright
2011-11-12  0:37 ` David Woodhouse
2011-11-12  0:45   ` Chris Wright
2011-11-12  0:47     ` Chris Wright
2011-11-12  0:51     ` David Woodhouse
2011-11-12  0:58       ` Chris Wright
2011-11-12  1:03         ` David Woodhouse
2011-11-12  0:46   ` Roland Dreier
2011-11-12  0:51     ` Chris Wright
2011-11-12  0:55       ` David Woodhouse
2011-11-12  1:08         ` Chris Wright
2011-11-12  1:20           ` David Woodhouse
2011-11-15  7:12             ` cody
2011-11-15  4:54               ` Chris Wright
2011-11-15  5:55                 ` Kai Huang
2011-11-12  1:30           ` Roland Dreier
2012-08-27 20:22 ` Craig Hada

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=20120918115937.GB9939@8bytes.org \
    --to=joro-zlv9swrftaidnm+yrofe0a@public.gmane.org \
    --cc=ddutile-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
    --cc=dwmw2-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org \
    --cc=iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org \
    /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.