All of lore.kernel.org
 help / color / mirror / Atom feed
From: Steven Smith <sos22-xen@srcf.ucam.org>
To: Markus Armbruster <armbru@redhat.com>
Cc: xen-devel@lists.xensource.com, sos22@srcf.ucam.org
Subject: Re: [PATCH 0/2] PV framebuffer
Date: Sun, 12 Nov 2006 14:20:19 +0000	[thread overview]
Message-ID: <20061112142019.GA2014@cam.ac.uk> (raw)
In-Reply-To: <87odrfptrb.fsf@pike.pond.sub.org>


[-- Attachment #1.1: Type: text/plain, Size: 4093 bytes --]

On Fri, Nov 10, 2006 at 09:53:44AM +0100, Markus Armbruster wrote:
> To: xen-devel@lists.xensource.com
> From: Markus Armbruster <armbru@redhat.com>
> Date: Fri, 10 Nov 2006 09:53:44 +0100
> Subject: [Xen-devel] [PATCH 0/2] PV framebuffer

These patches look a lot better than the last batch which were posted;
thank you for doing this work.  It's turned out to be a bit more than
I think anybody was really expecting.

I've got a few comments on the patches themselves, but most of them
are fairly simple and easily addressed.  I'll send them in separate
emails.

> Known issues:
> 
> * What to do when backend closes the connection?  I guess we want to
>   keep the frontend running, ready for another connection.  This works
>   already, but in a rather hackish and limited way.
The current scheme, as I read it, is just to have the backend ignore
the fact that it's resuming from an existing connection and pull the
required settings out of xenbus and the shared memory area?  That's
not actually a bad way of doing things, since it doesn't require much
cooperation from the frontend, which'll be handy for things like
migration and suspend/resume.

You'll have problems if the set of supported features changes between
the two backends, but that shouldn't require too much effort to fix.

> * What to do when the frontend closes the connection?  Make backend
>   exit?
Your choices, as far as I can see, are:

-- Make the backend exit.

-- Make the backend sit and wait for the frontend to reconnect.
   You'll probably want to arrange for the backend to go to state
   InitWait here, so that the new frontend can reconnect easily,
   and you'll obviously want to unmap all of the frontend-supplied
   pages.

I'm not sure why the frontend would ever disconnect except when the
guest is shutting down, so I'm not sure which approach is best here.

> * What happens when multiple backends connect to the same frontend?
>   Chaos, most likely.
Yep.  You could put some kind of lock in xenbus if you care about
this, but it'd cause problems if you want to be able to reconnect
after a backend crashes.

> * xm configuration magic doesn't know the new devices, yet.  I'm
>   ignorant of how this magic works, perhaps somebody can lend me a
>   hand with it.
How about something like this:

diff -r f70b56aab8a2 tools/python/xen/xm/create.py
--- a/tools/python/xen/xm/create.py     Thu Nov 02 13:20:32 2006 +0000
+++ b/tools/python/xen/xm/create.py     Fri Nov 03 16:48:34 2006 +0000
@@ -277,6 +277,11 @@ gopts.var('usbport', val='PATH',
           use="""Add a physical USB port to a domain, as specified by the path
           to that port.  This option may be repeated to add more than one port.""")

+gopts.var('vfb', val="foo",
+          fn=append_value,
+          default=[],
+          use="""Do stuff""")
+
 gopts.var('vif', val="mac=MAC,bridge=BRIDGE,ip=IPADDR,script=SCRIPT,backend=DOM,vifname=NAME",
           fn=append_value, default=[],
           use="""Add a network interface with the given MAC address and bridge.
@@ -544,6 +549,9 @@ def configure_usb(config_devs, vals):
         config_usb = ['usbport', ['path', path]]
         config_devs.append(['device', config_usb])

+def configure_vfbs(config_devs, vals):
+    for path in vals.vfb:
+        config_devs.append(['device', ['vfb', []]])

 def configure_security(config, vals):
     """Create the config for ACM security labels.
@@ -717,6 +724,7 @@ def make_config(vals):
     configure_vifs(config_devs, vals)
     configure_usb(config_devs, vals)
     configure_vtpm(config_devs, vals)
+    configure_vfbs(config_devs, vals)
     configure_security(config, vals)
     config += config_devs

You'll need to do something similar for vkbds as well.  If you need
additional parameters in the SXP, add them in configure_vfbs.  It
might be an idea to automatically create the vkbd when you create the
vfb SXP, since it doesn't make a great deal of sense to have one
without the other, but I'll leave that up to you.

Steven.

[-- Attachment #1.2: Digital signature --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

[-- Attachment #2: Type: text/plain, Size: 138 bytes --]

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel

  parent reply	other threads:[~2006-11-12 14:20 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-11-10  8:53 [PATCH 0/2] PV framebuffer Markus Armbruster
2006-11-10  9:32 ` Gerd Hoffmann
2006-11-12 14:20 ` Steven Smith [this message]
2006-11-13 15:29   ` Markus Armbruster
2006-11-21 17:48   ` Markus Armbruster
2006-11-16  1:08 ` Atsushi SAKAI
2006-11-16  8:21   ` Markus Armbruster
2006-11-16 10:31     ` Atsushi SAKAI
2006-11-16 11:46       ` Markus Armbruster
2006-11-17 13:22 ` Markus Armbruster
2006-11-22 14:18   ` Steven Smith
2006-11-22 15:31     ` Markus Armbruster
2006-11-24  8:05   ` Markus Armbruster
2006-11-24  8:07     ` Markus Armbruster
2006-11-29 10:31     ` Steven Smith
2006-11-29 12:43       ` Markus Armbruster
2006-11-21  5:23 ` Kasai Takanori
2006-11-21  5:50   ` Markus Armbruster
2006-11-21  9:43     ` Ewan Mellor
2006-11-22 11:47       ` Kasai Takanori
2006-11-22 13:30         ` Markus Armbruster
2006-11-24  1:54           ` Kasai Takanori
2006-11-24  8:15             ` Markus Armbruster

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=20061112142019.GA2014@cam.ac.uk \
    --to=sos22-xen@srcf.ucam.org \
    --cc=armbru@redhat.com \
    --cc=sos22@srcf.ucam.org \
    --cc=xen-devel@lists.xensource.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 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.