xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
From: "Chen, Tiejun" <tiejun.chen@intel.com>
To: Jan Beulich <JBeulich@suse.com>
Cc: yang.z.zhang@intel.com, kevin.tian@intel.com, tim@xen.org,
	xen-devel@lists.xen.org
Subject: Re: [v7][RFC][PATCH 06/13] hvmloader/ram: check if guest memory is out of reserved device memory maps
Date: Thu, 30 Oct 2014 11:11:18 +0800	[thread overview]
Message-ID: <5451AC56.7010303@intel.com> (raw)
In-Reply-To: <5450BE27020000780004304A@mail.emea.novell.com>

On 2014/10/29 17:15, Jan Beulich wrote:
>>>> On 29.10.14 at 08:43, <tiejun.chen@intel.com> wrote:
>> On 2014/10/28 18:06, Jan Beulich wrote:
>>>>>> On 28.10.14 at 08:47, <tiejun.chen@intel.com> wrote:
>>>> On 2014/10/27 18:17, Jan Beulich wrote:
>>>>>>>> On 27.10.14 at 09:09, <tiejun.chen@intel.com> wrote:
>>>>>> On 2014/10/24 22:56, Jan Beulich wrote:
>>>>> _no matter_ what RMRRs a physical host has, it should not prevent
>>>>> the creation of guests (the worst that may result is that passing
>>>>> through certain devices doesn't work anymore, and even then the
>>>>> operator needs to be given a way of circumventing this if (s)he
>>>>> knows that the device won't access the range post-boot, or if it's
>>>>> being deemed acceptable for it to do so).
>>>>
>>>> As we know just legacy USB and GFX need these RMRR ranges.
>>>
>>> This is specified where?
>>
>> In VT-D specification, I just see,
>>
>> "The RMRR regions are expected to be used for legacy usages (such as
>> USB, UMA Graphics, etc.) requiring reserved memory. Platform designers
>> should avoid or limit use of reserved memory regions since these require
>> system software to create holes in the DMA virtual address range
>> available to system software and its driver."
>
> Nice that you quote it, but did you also read it properly? There's this
> little "etc" following the explicit naming of USB and UMA...

Yes. But this already clarify RMRR "used for legacy usage" and "avoid or 
limit use of reserved memory regions", so RMRR would be gone finally. So 
I mean it may be acceptable to assume something based our known info.

>
>> RMRR really is very troublesome.
>>
>> The legacy usage of USB just cover ps2 emulation as I know. And as you
>> see these address are different in different platforms so this mean
>> they're not redistricted somewhere specific. And GFX need more space so
>> its not possible to be placed under 1M.
>>
>> So maybe I can drop patch #12, xen/vtd: re-enable USB device assignment,
>> to leave USB out our scope. Or a little improvement is to check if its
>> own range is below 1M.
>
> I think we made clear a number of iterations ago that rather than
> aiming for another half baked solution, it should be done right this
> time. No excuses. It's bad enough that this half broken code made
> it into the tree originally.

Okay. But if USB is really overlapping with BIOS...

Furthermore, maybe I can ask some guys to look into if we can move RMRR 
ranges in the hypervisor. If yes, things could be better.

>
>>> In the tool stack, don't even populate these holes with RAM. This
>>> will then lead to RAM getting populated further up at the upper end.
>>
>> Shouldn't populate RAM still with guest_physmap_add_entry()? If yes, we
>> already be there to mark them as p2m_access_n.
>
> Marking them with p2m_access_n is not the same as not populating
> the regions in the first place. Again - hiding multiple megabytes of
> memory (and who knows if it can't grow into the gigabyte range) is
> just not acceptable. Even for just a few pages I wouldn't be really

I don't think so. If you're considering a VM, this case should be same 
under native circumstance. And in native case, all RMRR ranges are 
marked as reserved in e820 table.

Thanks
Tiejun

> happy, but could probably be talked into accepting this.
>
> Jan
>
>
>

  reply	other threads:[~2014-10-30  3:11 UTC|newest]

Thread overview: 180+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-10-24  7:34 [v7][RFC][PATCH 01/13] xen: RMRR fix Tiejun Chen
2014-10-24  7:34 ` [v7][RFC][PATCH 01/13] introduce XENMEM_reserved_device_memory_map Tiejun Chen
2014-10-24 14:11   ` Jan Beulich
2014-10-27  2:11     ` Chen, Tiejun
2014-10-27  2:18       ` Chen, Tiejun
2014-10-27  9:42       ` Jan Beulich
2014-10-28  2:22         ` Chen, Tiejun
2014-10-27 13:35   ` Julien Grall
2014-10-28  2:35     ` Chen, Tiejun
2014-10-28 10:36       ` Jan Beulich
2014-10-29  0:40         ` Chen, Tiejun
2014-10-29  8:53           ` Jan Beulich
2014-10-30  2:53             ` Chen, Tiejun
2014-10-30  9:10               ` Jan Beulich
2014-10-31  1:03                 ` Chen, Tiejun
2014-10-24  7:34 ` [v7][RFC][PATCH 02/13] tools/libxc: introduce hypercall for xc_reserved_device_memory_map Tiejun Chen
2014-10-24  7:34 ` [v7][RFC][PATCH 03/13] tools/libxc: check if modules space is overlapping with reserved device memory Tiejun Chen
2014-10-24  7:34 ` [v7][RFC][PATCH 04/13] hvmloader/util: get reserved device memory maps Tiejun Chen
2014-10-24 14:22   ` Jan Beulich
2014-10-27  3:12     ` Chen, Tiejun
2014-10-27  9:45       ` Jan Beulich
2014-10-28  5:21         ` Chen, Tiejun
2014-10-28  9:48           ` Jan Beulich
2014-10-29  6:54             ` Chen, Tiejun
2014-10-29  9:05               ` Jan Beulich
2014-10-30  5:55                 ` Chen, Tiejun
2014-10-30  9:13                   ` Jan Beulich
2014-10-31  2:20                     ` Chen, Tiejun
2014-10-31  8:14                       ` Jan Beulich
2014-11-03  2:22                         ` Chen, Tiejun
2014-11-03  8:53                           ` Jan Beulich
2014-11-03  9:32                             ` Chen, Tiejun
2014-11-03  9:45                               ` Jan Beulich
2014-11-03  9:55                                 ` Chen, Tiejun
2014-11-03 10:02                                   ` Jan Beulich
2014-11-21  6:26                                     ` Chen, Tiejun
2014-11-21  7:43                                       ` Tian, Kevin
2014-11-21  7:54                                         ` Jan Beulich
2014-11-21  8:01                                           ` Tian, Kevin
2014-11-21  8:54                                           ` Chen, Tiejun
2014-11-21  9:33                                             ` Jan Beulich
2014-10-24 14:27   ` Jan Beulich
2014-10-27  5:07     ` Chen, Tiejun
2014-10-24  7:34 ` [v7][RFC][PATCH 05/13] hvmloader/mmio: reconcile guest mmio with reserved device memory Tiejun Chen
2014-10-24 14:42   ` Jan Beulich
2014-10-27  7:12     ` Chen, Tiejun
2014-10-27  9:56       ` Jan Beulich
2014-10-28  7:11         ` Chen, Tiejun
2014-10-28  9:56           ` Jan Beulich
2014-10-29  7:03             ` Chen, Tiejun
2014-10-29  9:08               ` Jan Beulich
2014-10-30  3:18                 ` Chen, Tiejun
2014-10-24  7:34 ` [v7][RFC][PATCH 06/13] hvmloader/ram: check if guest memory is out of reserved device memory maps Tiejun Chen
2014-10-24 14:56   ` Jan Beulich
2014-10-27  8:09     ` Chen, Tiejun
2014-10-27 10:17       ` Jan Beulich
2014-10-28  7:47         ` Chen, Tiejun
2014-10-28 10:06           ` Jan Beulich
2014-10-29  7:43             ` Chen, Tiejun
2014-10-29  9:15               ` Jan Beulich
2014-10-30  3:11                 ` Chen, Tiejun [this message]
2014-10-30  9:20                   ` Jan Beulich
2014-10-31  5:41                     ` Chen, Tiejun
2014-10-31  6:21                       ` Tian, Kevin
2014-10-31  7:02                         ` Chen, Tiejun
2014-10-31  8:20                         ` Jan Beulich
2014-11-03  5:49                           ` Chen, Tiejun
2014-11-03  8:56                             ` Jan Beulich
2014-11-03  9:40                               ` Chen, Tiejun
2014-11-03  9:51                                 ` Jan Beulich
2014-11-03 11:32                                   ` Chen, Tiejun
2014-11-03 11:43                                     ` Jan Beulich
2014-11-03 11:58                                       ` Chen, Tiejun
2014-11-03 12:34                                         ` Jan Beulich
2014-11-04  5:05                                           ` Chen, Tiejun
2014-11-04  7:54                                             ` Jan Beulich
2014-11-05  2:59                                               ` Chen, Tiejun
2014-11-05 17:00                                                 ` Jan Beulich
2014-11-06  9:28                                                   ` Chen, Tiejun
2014-11-06 10:06                                                     ` Jan Beulich
2014-11-07 10:27                                                       ` Chen, Tiejun
2014-11-07 11:08                                                         ` Jan Beulich
2014-11-11  6:32                                                           ` Chen, Tiejun
2014-11-11  7:49                                                             ` Chen, Tiejun
2014-11-11  9:03                                                               ` Jan Beulich
2014-11-11  9:06                                                                 ` Jan Beulich
2014-11-11  9:42                                                                   ` Chen, Tiejun
2014-11-11 10:07                                                                     ` Jan Beulich
2014-11-12  1:36                                                                       ` Chen, Tiejun
2014-11-12  8:37                                                                         ` Jan Beulich
2014-11-12  8:45                                                                           ` Chen, Tiejun
2014-11-12  9:02                                                                             ` Jan Beulich
2014-11-12  9:13                                                                               ` Chen, Tiejun
2014-11-12  9:56                                                                                 ` Jan Beulich
2014-11-12 10:18                                                                                   ` Chen, Tiejun
2014-11-19  8:17                                                                                   ` Tian, Kevin
2014-11-20  7:45                                                                                   ` Tian, Kevin
2014-11-20  8:04                                                                                     ` Jan Beulich
2014-11-20  8:51                                                                                       ` Tian, Kevin
2014-11-20 14:40                                                                                       ` Tian, Kevin
2014-11-20 14:46                                                                                         ` Jan Beulich
2014-11-20 20:11                                                                                         ` Konrad Rzeszutek Wilk
2014-11-21  0:32                                                                                           ` Tian, Kevin
2014-11-12  3:05                                                                     ` Chen, Tiejun
2014-11-12  8:55                                                                       ` Jan Beulich
2014-11-12 10:18                                                                         ` Chen, Tiejun
2014-11-12 10:24                                                                           ` Jan Beulich
2014-11-12 10:32                                                                             ` Chen, Tiejun
2014-11-13  3:09                                                                         ` Chen, Tiejun
2014-11-14  2:21                                                                           ` Chen, Tiejun
2014-11-14  8:21                                                                             ` Jan Beulich
2014-11-17  7:31                                                                               ` Chen, Tiejun
2014-11-17  7:57                                                                         ` Chen, Tiejun
2014-11-17 10:05                                                                           ` Jan Beulich
2014-11-17 11:08                                                                             ` Chen, Tiejun
2014-11-17 11:17                                                                               ` Jan Beulich
2014-11-17 11:32                                                                                 ` Chen, Tiejun
2014-11-17 11:51                                                                                   ` Jan Beulich
2014-11-18  3:08                                                                                     ` Chen, Tiejun
2014-11-18  8:01                                                                                       ` Jan Beulich
2014-11-18  8:16                                                                                         ` Chen, Tiejun
2014-11-18  9:33                                                                                           ` Jan Beulich
2014-11-19  1:26                                                                                             ` Chen, Tiejun
2014-11-20  7:31                                                                                               ` Jan Beulich
2014-11-20  8:12                                                                                                 ` Chen, Tiejun
2014-11-20  8:59                                                                                                   ` Jan Beulich
2014-11-20 10:28                                                                                                     ` Chen, Tiejun
2014-11-11  8:59                                                             ` Jan Beulich
2014-11-11  9:35                                                               ` Chen, Tiejun
2014-11-11  9:42                                                                 ` Jan Beulich
2014-11-11  9:51                                                                   ` Chen, Tiejun
2014-10-24  7:34 ` [v7][RFC][PATCH 07/13] xen/x86/p2m: introduce p2m_check_reserved_device_memory Tiejun Chen
2014-10-24 15:02   ` Jan Beulich
2014-10-27  8:50     ` Chen, Tiejun
2014-10-24  7:34 ` [v7][RFC][PATCH 08/13] xen/x86/p2m: set p2m_access_n for reserved device memory mapping Tiejun Chen
2014-10-24 15:11   ` Jan Beulich
2014-10-27  9:05     ` Chen, Tiejun
2014-10-27 10:33       ` Jan Beulich
2014-10-28  8:26         ` Chen, Tiejun
2014-10-28 10:12           ` Jan Beulich
2014-10-29  8:20             ` Chen, Tiejun
2014-10-29  9:20               ` Jan Beulich
2014-10-30  7:39                 ` Chen, Tiejun
2014-10-30  9:24                   ` Jan Beulich
2014-10-31  2:50                     ` Chen, Tiejun
2014-10-31  8:25                       ` Jan Beulich
2014-11-03  6:20                         ` Chen, Tiejun
2014-11-03  9:00                           ` Jan Beulich
2014-11-03  9:51                             ` Chen, Tiejun
2014-11-03 10:03                               ` Jan Beulich
2014-11-03 11:48                                 ` Chen, Tiejun
2014-11-03 11:53                                   ` Jan Beulich
2014-11-04  1:35                                     ` Chen, Tiejun
2014-11-04  8:02                                       ` Jan Beulich
2014-11-04 10:41                                         ` Chen, Tiejun
2014-11-04 11:41                                           ` Jan Beulich
2014-11-04 11:51                                             ` Chen, Tiejun
2014-10-24  7:34 ` [v7][RFC][PATCH 09/13] xen/x86/ept: handle reserved device memory in ept_handle_violation Tiejun Chen
2014-10-24  7:34 ` [v7][RFC][PATCH 10/13] xen/x86/p2m: introduce set_identity_p2m_entry Tiejun Chen
2014-10-24  7:34 ` [v7][RFC][PATCH 11/13] xen:vtd: create RMRR mapping Tiejun Chen
2014-10-24  7:34 ` [v7][RFC][PATCH 12/13] xen/vtd: re-enable USB device assignment Tiejun Chen
2014-10-24  7:34 ` [v7][RFC][PATCH 13/13] xen/vtd: group assigned device with RMRR Tiejun Chen
2014-10-24 10:52 ` [v7][RFC][PATCH 01/13] xen: RMRR fix Jan Beulich
2014-10-27  2:00   ` Chen, Tiejun
2014-10-27  9:41     ` Jan Beulich
2014-10-28  8:36       ` Chen, Tiejun
2014-10-28  9:34         ` Jan Beulich
2014-10-28  9:39           ` Razvan Cojocaru
2014-10-29  0:51             ` Chen, Tiejun
2014-10-29  0:48           ` Chen, Tiejun
2014-10-29  2:51             ` Chen, Tiejun
2014-10-29  8:45               ` Jan Beulich
2014-10-30  8:21                 ` Chen, Tiejun
2014-10-30  9:07                   ` Jan Beulich
2014-10-31  3:11                     ` Chen, Tiejun
2014-10-29  8:44             ` Jan Beulich
2014-10-30  2:51               ` Chen, Tiejun
2014-10-30 22:15 ` Tim Deegan
2014-10-31  2:53   ` Chen, Tiejun
2014-10-31  9:10     ` Tim Deegan

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=5451AC56.7010303@intel.com \
    --to=tiejun.chen@intel.com \
    --cc=JBeulich@suse.com \
    --cc=kevin.tian@intel.com \
    --cc=tim@xen.org \
    --cc=xen-devel@lists.xen.org \
    --cc=yang.z.zhang@intel.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).