All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Chen, Tiejun" <tiejun.chen@intel.com>
To: George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <JBeulich@suse.com>
Cc: Wei Liu <wei.liu2@citrix.com>,
	Ian Campbell <ian.campbell@citrix.com>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	George Dunlap <George.Dunlap@eu.citrix.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Ian Jackson <ian.jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
	Keir Fraser <keir@xen.org>
Subject: Re: [v8][PATCH 06/16] hvmloader/pci: disable all pci devices conflicting with rdm
Date: Fri, 17 Jul 2015 00:08:33 +0800	[thread overview]
Message-ID: <55A7D701.90801@intel.com> (raw)
In-Reply-To: <55A7D040.809@citrix.com>

On 2015/7/16 23:39, George Dunlap wrote:
> On 07/16/2015 04:20 PM, Chen, Tiejun wrote:
>>>> What about this?
>>>
>>> Looks reasonable (but don't forget that I continue to be unconvinced
>>> that the patch as a whole makes sense).
>>
>> Yes, I always keep this in my mind as I mentioned in patch #00. Any risk
>> you're still concerning? Is it that case if guest OS force enabling
>> these devices again? IMO, at this point there are two cases:
>>
>> #1. Without passing through a RMRR device
>>
>> Those emulated devices don't create 1:1 mapping so its safe, right?
>>
>> #2. With passing through a RMRR device
>>
>> This just probably cause these associated devices not to work well, but
>> still don't bring any impact to other Domains, right? I mean this isn't
>> going to worsen the preexisting situation.
>>
>> If I'm wrong please correct me.
>
> But I think the issue is, without doing *something* about MMIO
> collisions, the feature as a whole is sort of pointless.  You can
> carefully specify rdm="strategy=host,reserved=strict", but you might

I got what your mean. But there's no a good approach to bridge between 
xl and hvmloader to follow this policy. Right now, maybe just one thing 
could be tried like this,

Under hvmloader circumstance,

"strict" -> Still set RDM as E820_RESERVED
"relaxed" -> Set RDM as a new internal E820 flag like E820_HAZARDOUS

Then in the case of MMIO collisions

E820_RESERVED -> BUG() -> Stop VM
E820_HAZARDOUS -> our warning messages + disable devices

I think this can make sure we always take consistent policy in each 
involved cycle.

Thanks
Tiejun

> still get devices whose MMIO regions conflict with RMMRs, and there's
> nothing you can really do about it.
>
> And although I personally think it might be possible / reasonable to
> check in a newly-written, partial MMIO collision avoidance patch, not
> everyone might agree.  Even if I were to rewrite and post a patch
> myself, they may argue that doing such a complicated re-design after the
> feature freeze shouldn't be allowed.
>
>   -George
>

  reply	other threads:[~2015-07-16 16:08 UTC|newest]

Thread overview: 83+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-07-17  0:45 [v9][PATCH 00/16] Fix RMRR Tiejun Chen
2015-07-16  6:52 ` [v8][PATCH " Tiejun Chen
2015-07-16  6:52   ` [v8][PATCH 01/16] xen: introduce XENMEM_reserved_device_memory_map Tiejun Chen
2015-07-16  6:52   ` [v8][PATCH 02/16] xen/vtd: create RMRR mapping Tiejun Chen
2015-07-16  6:52   ` [v8][PATCH 03/16] xen/passthrough: extend hypercall to support rdm reservation policy Tiejun Chen
2015-07-16  7:40     ` Jan Beulich
2015-07-16  7:48       ` Chen, Tiejun
2015-07-16  7:58         ` Jan Beulich
2015-07-16 11:09     ` George Dunlap
2015-07-16  6:52   ` [v8][PATCH 04/16] xen: enable XENMEM_memory_map in hvm Tiejun Chen
2015-07-16  6:52   ` [v8][PATCH 05/16] hvmloader: get guest memory map into memory_map[] Tiejun Chen
2015-07-16  9:18     ` Jan Beulich
2015-07-16 11:15     ` George Dunlap
2015-07-16  6:52   ` [v8][PATCH 06/16] hvmloader/pci: disable all pci devices conflicting with rdm Tiejun Chen
2015-07-16 11:32     ` George Dunlap
2015-07-16 11:52       ` Chen, Tiejun
2015-07-16 13:02         ` George Dunlap
2015-07-16 13:21           ` Chen, Tiejun
2015-07-16 13:32             ` Jan Beulich
2015-07-16 13:48               ` Chen, Tiejun
2015-07-16 14:54                 ` Jan Beulich
2015-07-16 15:20                   ` Chen, Tiejun
2015-07-16 15:39                     ` George Dunlap
2015-07-16 16:08                       ` Chen, Tiejun [this message]
2015-07-16 16:40                         ` George Dunlap
2015-07-16 21:24                           ` Chen, Tiejun
2015-07-16 16:18                       ` George Dunlap
2015-07-16 16:31                         ` George Dunlap
2015-07-16 21:15                         ` Chen, Tiejun
2015-07-17  9:26                           ` George Dunlap
2015-07-17 10:55                             ` Jan Beulich
2015-07-16  6:52   ` [v8][PATCH 07/16] hvmloader/e820: construct guest e820 table Tiejun Chen
2015-07-16 11:47     ` George Dunlap
2015-07-16 13:12       ` Chen, Tiejun
2015-07-16 14:29         ` George Dunlap
2015-07-16 15:04           ` Chen, Tiejun
2015-07-16 15:16             ` George Dunlap
2015-07-16 15:29               ` Chen, Tiejun
2015-07-16 15:33                 ` George Dunlap
2015-07-16 15:42                   ` Chen, Tiejun
2015-07-16  6:52   ` [v8][PATCH 08/16] tools/libxc: Expose new hypercall xc_reserved_device_memory_map Tiejun Chen
2015-07-16  6:52   ` [v8][PATCH 09/16] tools: extend xc_assign_device() to support rdm reservation policy Tiejun Chen
2015-07-16  6:52   ` [v8][PATCH 10/16] tools: introduce some new parameters to set rdm policy Tiejun Chen
2015-07-16  6:52   ` [v8][PATCH 11/16] tools/libxl: detect and avoid conflicts with RDM Tiejun Chen
2015-07-16  6:52   ` [v8][PATCH 12/16] tools: introduce a new parameter to set a predefined rdm boundary Tiejun Chen
2015-07-16  6:52   ` [v8][PATCH 13/16] libxl: construct e820 map with RDM information for HVM guest Tiejun Chen
2015-07-16  6:53   ` [v8][PATCH 14/16] xen/vtd: enable USB device assignment Tiejun Chen
2015-07-16  6:53   ` [v8][PATCH 15/16] xen/vtd: prevent from assign the device with shared rmrr Tiejun Chen
2015-07-16  7:42     ` Jan Beulich
2015-07-16  6:53   ` [v8][PATCH 16/16] tools: parse to enable new rdm policy parameters Tiejun Chen
2015-07-17  0:45 ` [v9][PATCH 01/16] xen: introduce XENMEM_reserved_device_memory_map Tiejun Chen
2015-07-17  0:45 ` [v9][PATCH 02/16] xen/vtd: create RMRR mapping Tiejun Chen
2015-07-17  0:45 ` [v9][PATCH 03/16] xen/passthrough: extend hypercall to support rdm reservation policy Tiejun Chen
2015-07-17  6:48   ` Jan Beulich
2015-07-20  1:12   ` Tian, Kevin
2015-07-17  0:45 ` [v9][PATCH 04/16] xen: enable XENMEM_memory_map in hvm Tiejun Chen
2015-07-17  0:45 ` [v9][PATCH 05/16] hvmloader: get guest memory map into memory_map[] Tiejun Chen
2015-07-17  0:45 ` [v9][PATCH 06/16] hvmloader/pci: disable all pci devices conflicting with rdm Tiejun Chen
2015-07-17 13:59   ` Jan Beulich
2015-07-17 14:24     ` Chen, Tiejun
2015-07-17  0:45 ` [v9][PATCH 07/16] hvmloader/e820: construct guest e820 table Tiejun Chen
2015-07-17  7:40   ` Jan Beulich
2015-07-17  9:09     ` Chen, Tiejun
2015-07-17 10:50       ` Jan Beulich
2015-07-17 15:22         ` Chen, Tiejun
2015-07-17 15:31           ` Jan Beulich
2015-07-17 15:54             ` Chen, Tiejun
2015-07-17 16:06               ` Jan Beulich
2015-07-17 16:10                 ` Chen, Tiejun
2015-07-18 12:35                 ` George Dunlap
2015-07-20  6:19                   ` Chen, Tiejun
2015-07-17  9:27     ` Chen, Tiejun
2015-07-17 10:53       ` Jan Beulich
2015-07-17  0:45 ` [v9][PATCH 08/16] tools/libxc: Expose new hypercall xc_reserved_device_memory_map Tiejun Chen
2015-07-17  0:45 ` [v9][PATCH 09/16] tools: extend xc_assign_device() to support rdm reservation policy Tiejun Chen
2015-07-17  0:45 ` [v9][PATCH 10/16] tools: introduce some new parameters to set rdm policy Tiejun Chen
2015-07-17  0:45 ` [v9][PATCH 11/16] tools/libxl: detect and avoid conflicts with RDM Tiejun Chen
2015-07-17  0:45 ` [v9][PATCH 12/16] tools: introduce a new parameter to set a predefined rdm boundary Tiejun Chen
2015-07-17  0:45 ` [v9][PATCH 13/16] libxl: construct e820 map with RDM information for HVM guest Tiejun Chen
2015-07-22 13:55   ` [v8][PATCH 13/16] libxl: construct e820 map with RDM information for HVM guest [and 1 more messages] Ian Jackson
2015-07-17  0:45 ` [v9][PATCH 14/16] xen/vtd: enable USB device assignment Tiejun Chen
2015-07-17  0:45 ` [v9][PATCH 15/16] xen/vtd: prevent from assign the device with shared rmrr Tiejun Chen
2015-07-17  0:45 ` [v9][PATCH 16/16] tools: parse to enable new rdm policy parameters Tiejun Chen

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=55A7D701.90801@intel.com \
    --to=tiejun.chen@intel.com \
    --cc=George.Dunlap@eu.citrix.com \
    --cc=JBeulich@suse.com \
    --cc=andrew.cooper3@citrix.com \
    --cc=george.dunlap@citrix.com \
    --cc=ian.campbell@citrix.com \
    --cc=ian.jackson@eu.citrix.com \
    --cc=keir@xen.org \
    --cc=stefano.stabellini@eu.citrix.com \
    --cc=wei.liu2@citrix.com \
    --cc=xen-devel@lists.xen.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.