xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
From: Paul Durrant <Paul.Durrant@citrix.com>
To: 'Razvan Cojocaru' <rcojocaru@bitdefender.com>,
	'Petre Ovidiu PIRCALABU' <ppircalabu@bitdefender.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Andrew Cooper <Andrew.Cooper3@citrix.com>,
	Tamas K Lengyel <tamas@tklengyel.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wei.liu2@citrix.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	"Tim (Xen.org)" <tim@xen.org>,
	George Dunlap <George.Dunlap@citrix.com>,
	Julien Grall <julien.grall@arm.com>,
	Jan Beulich <jbeulich@suse.com>,
	Ian Jackson <Ian.Jackson@citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: Re: [RFC PATCH 4/6] vm_event: Use slotted channels for sync requests.
Date: Thu, 10 Jan 2019 09:58:21 +0000	[thread overview]
Message-ID: <0ed3844a200940e18da621d7064aa251@AMSPEX02CL03.citrite.net> (raw)
In-Reply-To: <11b37040-047b-7d67-8d41-81ec3fd35a87@bitdefender.com>

> -----Original Message-----

> >>>
> >>> Why re-invent the wheel here? The ioreq infrastructure already does
> >>> pretty much everything you need AFAICT.
> >>>
> >>>    Paul
> >>
> >> I wanted preseve as much as possible from the existing vm_event DOMCTL
> >> interface and add only the necessary code to allocate and map the
> >> vm_event_pages.
> >
> > That means we have two subsystems duplicating a lot of functionality
> though. It would be much better to use ioreq server if possible than
> provide a compatibility interface via DOMCTL.
> 
> Just to clarify the compatibility issue: there's a third element between
> Xen and the introspection application, the Linux kernel which needs to
> be fairly recent for the whole ioreq machinery to work. The qemu code
> also seems to fallback to the old way of working if that's the case.
> 

Tht'a corrent. For IOREQ server there is a fall-back mechanism when privcmd doesn't support resource mapping.

> This means that there's a choice to be made here: either we keep
> backwards compatibility with the old vm_event interface (in which case
> we can't drop the waitqueue code), or we switch to the new one and leave
> older setups in the dust (but there's less code duplication and we can
> get rid of the waitqueue code).
> 

I don't know what your compatibility model is. QEMU needs to maintain compatibility across various different versions of Xen and Linux so there are many shims and much compat code. You may not need this.

> In any event, it's not very clear (to me, at least) how the envisioned
> ioreq replacement should work. I assume we're meant to use the whole
> infrastructure (as opposed to what we're now doing, which is to only use
> the map-hypervisor-memory part), i.e. both mapping and signaling. Could
> we discuss this in more detail? Are there any docs on this or ioreq
> minimal clients (like xen-access.c is for vm_event) we might use?
> 

I don't know how much of the infrastructure will be re-usable for you. Resource mapping itself is supposed to be generic, not specific to IOREQ server. Indeed it already supports grant table mapping too. So IMO you should at least expose your shared pages using this mechanism.

It would be nice if you could also re-use ioreqs (and bufioreqs) for sending your data but they may well be a poor fit... but you could probably cut'n'paste some of the init and teardown code to set up your shared pages.

  Paul

> 
> Thanks,
> Razvan
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

  reply	other threads:[~2019-01-10  9:58 UTC|newest]

Thread overview: 50+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-12-19 18:52 [PATCH RFC 0/6] Slotted channels for sync vm_events Petre Pircalabu
2018-12-19 18:52 ` [RFC PATCH 1/6] tools/libxc: Consistent usage of xc_vm_event_* interface Petre Pircalabu
2018-12-19 18:52 ` [RFC PATCH 2/6] tools/libxc: Define VM_EVENT type Petre Pircalabu
2018-12-19 22:13   ` Tamas K Lengyel
2019-01-02 11:11   ` Wei Liu
2019-01-08 15:01     ` Petre Ovidiu PIRCALABU
2019-01-25 14:16       ` Wei Liu
2019-01-08 16:25   ` Jan Beulich
2019-02-11 12:30     ` Petre Ovidiu PIRCALABU
2018-12-19 18:52 ` [RFC PATCH 3/6] vm_event: Refactor vm_event_domain implementation Petre Pircalabu
2018-12-19 22:26   ` Tamas K Lengyel
2018-12-20 12:39     ` Petre Ovidiu PIRCALABU
2018-12-19 18:52 ` [RFC PATCH 4/6] vm_event: Use slotted channels for sync requests Petre Pircalabu
2018-12-20 12:05   ` Paul Durrant
2018-12-20 14:25     ` Petre Ovidiu PIRCALABU
2018-12-20 14:28       ` Paul Durrant
2018-12-20 15:03         ` Jan Beulich
2018-12-24 10:37         ` Julien Grall
2019-01-09 16:21         ` Razvan Cojocaru
2019-01-10  9:58           ` Paul Durrant [this message]
2019-01-10 15:28             ` Razvan Cojocaru
2019-01-08 14:49     ` Petre Ovidiu PIRCALABU
2019-01-08 15:08       ` Paul Durrant
2019-01-08 16:13         ` Petre Ovidiu PIRCALABU
2019-01-08 16:25           ` Paul Durrant
2019-01-10 15:30     ` Petre Ovidiu PIRCALABU
2019-01-10 15:46       ` Paul Durrant
2019-04-02 14:47         ` Andrew Cooper
2018-12-19 18:52 ` [RFC PATCH 5/6] xen-access: add support for slotted channel vm_events Petre Pircalabu
2018-12-19 18:52 ` [RFC PATCH 6/6] xc_version: add vm_event interface version Petre Pircalabu
2019-01-08 16:27   ` Jan Beulich
2019-01-08 16:37     ` Razvan Cojocaru
2019-01-08 16:47       ` Jan Beulich
2019-01-09  9:11         ` Razvan Cojocaru
2019-02-12 16:57           ` Petre Ovidiu PIRCALABU
2019-02-12 17:14             ` Jan Beulich
2019-02-12 18:13       ` Tamas K Lengyel
2019-02-12 18:19         ` Razvan Cojocaru
2019-02-12 18:25           ` Tamas K Lengyel
2018-12-19 22:33 ` [PATCH RFC 0/6] Slotted channels for sync vm_events Tamas K Lengyel
2018-12-19 23:30   ` Andrew Cooper
2018-12-20 10:48   ` Petre Ovidiu PIRCALABU
2018-12-20 14:08     ` Tamas K Lengyel
2019-02-06 14:26 ` Petre Ovidiu PIRCALABU
2019-02-07 11:46   ` George Dunlap
2019-02-07 16:06     ` Petre Ovidiu PIRCALABU
2019-02-12 17:01       ` Tamas K Lengyel
2019-02-19 11:48         ` Razvan Cojocaru
2019-03-04 16:01           ` George Dunlap
2019-03-04 16:20             ` Tamas K Lengyel

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=0ed3844a200940e18da621d7064aa251@AMSPEX02CL03.citrite.net \
    --to=paul.durrant@citrix.com \
    --cc=Andrew.Cooper3@citrix.com \
    --cc=George.Dunlap@citrix.com \
    --cc=Ian.Jackson@citrix.com \
    --cc=jbeulich@suse.com \
    --cc=julien.grall@arm.com \
    --cc=konrad.wilk@oracle.com \
    --cc=ppircalabu@bitdefender.com \
    --cc=rcojocaru@bitdefender.com \
    --cc=roger.pau@citrix.com \
    --cc=sstabellini@kernel.org \
    --cc=tamas@tklengyel.com \
    --cc=tim@xen.org \
    --cc=wei.liu2@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 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).