From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: "Xenia Ragiadakou" <burzalodowa@gmail.com>,
"Marek Marczykowski-Górecki" <marmarek@invisiblethingslab.com>,
"Ray Huang" <ray.huang@amd.com>,
"Xen developer discussion" <xen-devel@lists.xenproject.org>,
"Andrew Cooper" <andrew.cooper3@citrix.com>,
"Roger Pau Monné" <roger.pau@citrix.com>
Subject: Re: Design session notes: GPU acceleration in Xen
Date: Mon, 17 Jun 2024 11:17:49 -0400 [thread overview]
Message-ID: <ZnBTn6FXXOpnBJCb@itl-email> (raw)
In-Reply-To: <10c2ab19-e2b7-4f5f-ae73-213e0194bb8e@suse.com>
[-- Attachment #1: Type: text/plain, Size: 2130 bytes --]
On Mon, Jun 17, 2024 at 11:07:54AM +0200, Jan Beulich wrote:
> On 14.06.2024 18:44, Demi Marie Obenour wrote:
> > On Fri, Jun 14, 2024 at 10:12:40AM +0200, Jan Beulich wrote:
> >> On 14.06.2024 09:21, Roger Pau Monné wrote:
> >>> I'm not sure it's possible to ensure that when using system RAM such
> >>> memory comes from the guest rather than the host, as it would likely
> >>> require some very intrusive hooks into the kernel logic, and
> >>> negotiation with the guest to allocate the requested amount of
> >>> memory and hand it over to dom0. If the maximum size of the buffer is
> >>> known in advance maybe dom0 can negotiate with the guest to allocate
> >>> such a region and grant it access to dom0 at driver attachment time.
> >>
> >> Besides the thought of transiently converting RAM to kind-of-MMIO, this
> >> makes me think of another possible option: Could Dom0 transfer ownership
> >> of the RAM that wants mapping in the guest (remotely resembling
> >> grant-transfer)? Would require the guest to have ballooned down enough
> >> first, of course. (In both cases it would certainly need working out how
> >> the conversion / transfer back could be made work safely and reasonably
> >> cleanly.)
> >
> > The kernel driver needs to be able to reclaim the memory at any time.
> > My understanding is that this is used to migrate memory between VRAM and
> > system RAM. It might also be used for other purposes.
>
> Except: How would the kernel driver reclaim the memory when it's mapped
> by a DomU?
The Xen driver in dom0 will register for MMU notifier callbacks. When
the kernel driver reclaims the memory, the Xen driver will be notified,
and it will issue a hypercall that tells Xen to remove the memory from
the DomU's address space. Subsequent accesses to the pages will trigger
a stage 2 translation fault that is handled by an IOREQ server.
For I/O memory, this is already possible via XEN_DOMCTL_memory_mapping.
The proposal in this thread is to make this possible for system RAM as
well.
--
Sincerely,
Demi Marie Obenour (she/her/hers)
Invisible Things Lab
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
next prev parent reply other threads:[~2024-06-17 15:18 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-06-13 18:43 Design session notes: GPU acceleration in Xen Demi Marie Obenour
2024-06-14 6:38 ` Jan Beulich
2024-06-14 7:21 ` Roger Pau Monné
2024-06-14 8:12 ` Jan Beulich
2024-06-14 8:39 ` Roger Pau Monné
2024-06-17 0:38 ` Demi Marie Obenour
2024-06-17 7:46 ` Roger Pau Monné
2024-06-17 15:07 ` Demi Marie Obenour
2024-06-17 20:46 ` Marek Marczykowski-Górecki
2024-06-18 0:57 ` Demi Marie Obenour
2024-06-18 6:33 ` Christian König
2024-06-18 14:12 ` Demi Marie Obenour
2024-06-19 7:31 ` Christian König
2024-06-19 16:56 ` Alex Deucher
2024-06-18 14:43 ` Roger Pau Monné
2024-06-18 14:56 ` Demi Marie Obenour
2024-06-17 9:13 ` Jan Beulich
2024-06-14 16:44 ` Demi Marie Obenour
2024-06-17 9:07 ` Jan Beulich
2024-06-17 15:17 ` Demi Marie Obenour [this message]
2024-06-17 15:39 ` Jan Beulich
2024-06-17 16:02 ` Demi Marie Obenour
2024-06-14 17:55 ` Demi Marie Obenour
2024-06-14 16:35 ` Demi Marie Obenour
2024-06-17 9:05 ` Jan Beulich
2024-06-14 20:56 ` Demi Marie Obenour
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=ZnBTn6FXXOpnBJCb@itl-email \
--to=demi@invisiblethingslab.com \
--cc=andrew.cooper3@citrix.com \
--cc=burzalodowa@gmail.com \
--cc=jbeulich@suse.com \
--cc=marmarek@invisiblethingslab.com \
--cc=ray.huang@amd.com \
--cc=roger.pau@citrix.com \
--cc=xen-devel@lists.xenproject.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.