qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: David Hildenbrand <david@redhat.com>
To: Heiko Carstens <hca@linux.ibm.com>
Cc: Thomas Huth <thuth@redhat.com>,
	Janosch Frank <frankja@linux.ibm.com>,
	"Michael S . Tsirkin" <mst@redhat.com>,
	Cornelia Huck <cohuck@redhat.com>,
	qemu-devel@nongnu.org, Halil Pasic <pasic@linux.ibm.com>,
	Christian Borntraeger <borntraeger@de.ibm.com>,
	qemu-s390x@nongnu.org, Claudio Imbrenda <imbrenda@linux.ibm.com>,
	Richard Henderson <rth@twiddle.net>
Subject: Re: [PATCH RFC 2/5] s390x: implement diag260
Date: Wed, 15 Jul 2020 13:42:02 +0200	[thread overview]
Message-ID: <30ba06e7-5e84-9683-5b37-623f40b3a6db@redhat.com> (raw)
In-Reply-To: <20200715113426.GD6927@osiris>

On 15.07.20 13:34, Heiko Carstens wrote:
> On Wed, Jul 15, 2020 at 01:21:06PM +0200, David Hildenbrand wrote:
>>> At least in v4.1 the kernel will calculate the max address by using
>>> increment size * increment number and then test if *each* increment is
>>> available with tprot.
>>
>> Yes, we do the same in kvm-unit-tests. But it's not sufficient for
>> memory devices.
>>
>> Just because a tprot succeed (for memory belonging to a memory device)
>> does not mean the kernel should silently start to use that memory.
>>
>> Note: memory devices are not just DIMMs that can be mapped to storage
>> increments. The memory might have completely different semantics, that's
>> why they are glued to a managing virtio device.
>>
>> For example: a tprot might succeed on a memory region provided by
>> virtio-mem, this does, however, not mean that the memory can (and
>> should) be used by the guest.
> 
> So, are you saying that even at IPL time there might already be memory
> devices attached to the system? And the kernel should _not_ treat them
> as normal memory?

Sorry if that was unclear. Yes, we can have such devices (including
memory areas) on a cold boot/reboot/kexec. In addition, they might pop
up at runtime (e.g., hotplugging a virtio-mem device). The device is in
charge of exposing that area and deciding what to do with it.

The kernel should never treat them as normal memory (IOW, system RAM).
Not during a cold boot, not during a reboot. The device driver is
responsible for deciding how to use that memory (e.g., add it as system
RAM), and which parts of that memory are actually valid to be used (even
if a tprot might succeed it might not be valid to use just yet - I guess
somewhat similar to doing a tport on a dcss area - AFAIK, you also don't
want to use it like normal memory).

E.g., on x86-64, memory exposed via virtio-mem or virtio-pmem is never
exposed via the e820 map. The only trace that there might be *something*
now/in the future is indicated via ACPI SRAT tables. This takes
currently care of indicating the maximum possible PFN.

-- 
Thanks,

David / dhildenb



  reply	other threads:[~2020-07-15 11:43 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-07-08 18:51 [PATCH RFC 0/5] s390x: initial support for virtio-mem David Hildenbrand
2020-07-08 18:51 ` [PATCH RFC 1/5] s390x: move setting of maximum ram size to machine init David Hildenbrand
2020-07-08 18:51 ` [PATCH RFC 2/5] s390x: implement diag260 David Hildenbrand
2020-07-09 10:37   ` Cornelia Huck
2020-07-09 17:54     ` David Hildenbrand
2020-07-10  8:32     ` David Hildenbrand
2020-07-10  8:41       ` David Hildenbrand
2020-07-10  9:19         ` Cornelia Huck
2020-07-13 11:54       ` Christian Borntraeger
2020-07-13 12:11         ` Cornelia Huck
2020-07-13 12:13           ` Christian Borntraeger
2020-07-09 10:52   ` Christian Borntraeger
2020-07-09 18:15     ` David Hildenbrand
2020-07-10  9:17       ` David Hildenbrand
2020-07-10 12:12         ` David Hildenbrand
2020-07-10 15:18           ` Heiko Carstens
2020-07-10 15:24             ` David Hildenbrand
2020-07-10 15:43               ` Heiko Carstens
2020-07-10 15:45                 ` David Hildenbrand
2020-07-13  9:12               ` Heiko Carstens
2020-07-13 10:27                 ` David Hildenbrand
2020-07-13 11:08                   ` Christian Borntraeger
2020-07-15  9:42                     ` David Hildenbrand
2020-07-15 10:43                       ` Heiko Carstens
2020-07-15 11:21                         ` David Hildenbrand
2020-07-15 11:34                           ` Heiko Carstens
2020-07-15 11:42                             ` David Hildenbrand [this message]
2020-07-15 16:14                               ` Heiko Carstens
2020-07-15 17:38                                 ` David Hildenbrand
2020-07-15 17:51                                   ` David Hildenbrand
2020-07-20 14:43                                     ` Heiko Carstens
2020-07-20 15:43                                       ` David Hildenbrand
2020-07-08 18:51 ` [PATCH RFC 3/5] s390x: prepare device memory address space David Hildenbrand
2020-07-09 10:59   ` Cornelia Huck
2020-07-10  7:46     ` David Hildenbrand
2020-07-08 18:51 ` [PATCH RFC 4/5] s390x: implement virtio-mem-ccw David Hildenbrand
2020-07-09  9:24   ` Cornelia Huck
2020-07-09  9:26     ` David Hildenbrand
2020-07-08 18:51 ` [PATCH RFC 5/5] s390x: initial support for virtio-mem David Hildenbrand

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=30ba06e7-5e84-9683-5b37-623f40b3a6db@redhat.com \
    --to=david@redhat.com \
    --cc=borntraeger@de.ibm.com \
    --cc=cohuck@redhat.com \
    --cc=frankja@linux.ibm.com \
    --cc=hca@linux.ibm.com \
    --cc=imbrenda@linux.ibm.com \
    --cc=mst@redhat.com \
    --cc=pasic@linux.ibm.com \
    --cc=qemu-devel@nongnu.org \
    --cc=qemu-s390x@nongnu.org \
    --cc=rth@twiddle.net \
    --cc=thuth@redhat.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).