qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Gerd Hoffmann <kraxel@redhat.com>
To: Samuel Thibault <samuel.thibault@eu.citrix.com>,
	Gerd Hoffmann <kraxel@redhat.com>,
	Markus Armbruster <armbru@redhat.com>,
	Anthony Liguori <anthony@codemonkey.ws>,
	qemu-devel@nongnu.org, xen-devel@lists.xensource.com,
	Ian Jackson <Ian.Jackson@eu.citrix.com>
Subject: Re: [Xen-devel] Re: [Qemu-devel] [PATCH 0/7] merge some xen bits into qemu
Date: Thu, 07 Aug 2008 14:13:22 +0200	[thread overview]
Message-ID: <489AE6E2.2040500@redhat.com> (raw)
In-Reply-To: <20080807105352.GC6604@implementation.uk.xensource.com>

> Ok, thanks, that's already better.
> 
> I'd still say that "delete a file then add another one" is far from
> convenient both from a point of view of proof-reading the patches and
> repository history, but I guess we can manage that with a renaming step
> first.

Fine with me, I can't send patches with renames though ...

> Any reason for the renames, though? (they tend to bother developpers who
> have to change their habits, so we can not do that without a reason)

Get consistent naming (all xen stuff in hw/ is prefixed with xen-).

> - Why dashes instead of underscores?

(1) It looks more pleasent to my eyes.
(2) It is easier to type (no shift needed) on both us and german
    keyboards.
(3) The files in the qemu source tree don't have a consistent style
    in respect to '-' vs. '_', so I had no reason to not use my
    personal preference ;)

> - In Xen, we call xen-machine.c xen_machine_pv.c because there is also
> a xen_machine_fv.c.  Can't the xen_machine_pv.c name be fine for qemu
> upstream too?

Dunno whenever there ever will be a xenfv machine type upstream as most
likely the normal 'pc' machine type will get a fancy interface to switch
between emulation, kqemu and kvm.  And I think the best option for xen
hvm would be to hook in there too.  That is a long-term thing though,
xen_machine_fv.c will probably stay for quite a while at in the xen
tree, so maybe 'pv' in the name helps avoiding confusion.  I'd prefer to
stay with the xen-machine.c though.

> Or xen can keep its own xen_machine_{pv,fv}.c and your
> xen-machine.c goes upstream, I don't think that would be a problem.

We have two files defining xenpv_machine then.  I don't think it is a
good idea.

> Misc stuff:
> - I guess the sys-queue.h file should be merged and used in qemu first?

Rebase.  Then it will be there, and you can skip the patch ;)

> - xen_domid is re-declared in xen-backend.h

Oops.  Fixed.

> - The BUFSIZE macro in xen-backend.h is a bit unfortunate, but still
> better than what we have currently.  Maybe it should be renamed with a
> - XEN_ prefix to avoid any clash?

xen-backend.h is supposed to be included by xen-related code only (it
barfs when /usr/include/xen isn't there), so it shouldn't clash in
theory.  Well, I can prefix it nevertheless, better safe than sorry.

> - container_of would probably be useful in other parts of qemu, I guess
> it could be merged in qemu first?

Has qemu a nice place for that kind of helper macros?

> In your xen patch, since idle and GUI_REFRESH_INTERVAL are there, you
> can just use them.  We'll push them to qemu.  We'll manage the _shared
> stuff (and push it eventually).

I'd prefer to do it the other way around (push depending changes
upstream, then adapt xen-framebuffer.c).  I want xen-framebuffer.c look
the same in xen and upstream.

> I'll let Markus comment on the rest (again, thanks for moving the xenbus
> stuff to the backend part).  There is one change that is not backend
> changes or just moving code around: you are queuing rectangle updates,
> why?  (I'm not arguing, just wondering the kind of optimization that can
> be).

Thats actually a bugfix.  Doing screen updates outside the ->update
callback isn't safe.

And as we must queuing up update rectangles anyway to fix that it also
tries to optimize stuff a bit and avoid unneeded bitblits.  Right now
that catches only frequent fullscreen updates (such as a scrolling
textconsole) and doesn't copy stuff multiple times in case the update
events from the guest are more frequent than update callback calls from
qemu.

Could be improved to analyze the rectangles in more detail (for example:
figure a update is a superset of another one, so one can be dropped).

>> The block backend should be a good replacement for blktap though and
>> maybe can save you the effort of porting the blktap kernel driver to
>> the pv_ops kernel.
> 
> Well, for better performance an in-kernel blktap would still be useful.

Don't confuse blkback and blktap.  I don't want to replace the in-kernel
blkback driver.  blktap isn't a in-kernel driver though.  It is just an
interface between the hypervisor and a userspace application,
specialized for block devices.  My backend driver does pretty much the
same, but uses the generic gntdev interface instead of blktap.  I can't
see any reason why it shouldn't match blktap performance-wise.  I have
no benchmarks numbers though.

cheers,
  Gerd

-- 
http://kraxel.fedorapeople.org/xenner/

  reply	other threads:[~2008-08-07 12:13 UTC|newest]

Thread overview: 92+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-08-04 15:50 [Qemu-devel] [PATCH 0/7] merge some xen bits into qemu Gerd Hoffmann
2008-08-04 15:50 ` [Qemu-devel] [PATCH 1/7] xen: groundwork for xen support Gerd Hoffmann
2008-08-04 16:34   ` Blue Swirl
2008-08-04 18:01     ` Gerd Hoffmann
2008-08-04 17:35   ` Anthony Liguori
2008-08-04 18:04     ` Gerd Hoffmann
2008-08-04 15:50 ` [Qemu-devel] [PATCH 2/7] xen: backend driver core Gerd Hoffmann
2008-08-04 15:50 ` [Qemu-devel] [PATCH 3/7] xen: add console backend driver Gerd Hoffmann
2008-08-04 16:52   ` Blue Swirl
2008-08-04 18:15     ` Gerd Hoffmann
2008-08-04 20:47       ` Blue Swirl
2008-08-04 15:50 ` [Qemu-devel] [PATCH 4/7] xen: add framebuffer " Gerd Hoffmann
2008-08-04 17:09   ` Blue Swirl
2008-08-04 18:20     ` Gerd Hoffmann
2008-08-04 15:50 ` [Qemu-devel] [PATCH 5/7] xen: add block device " Gerd Hoffmann
2008-08-04 17:26   ` Blue Swirl
2008-08-04 17:37     ` Samuel Thibault
2008-08-04 17:46     ` Anthony Liguori
2008-08-04 19:50     ` Gerd Hoffmann
2008-08-04 20:04       ` Paul Brook
2008-08-05  7:18         ` Gerd Hoffmann
2008-08-04 20:58       ` Blue Swirl
2008-08-05  7:01         ` Gerd Hoffmann
2008-08-04 21:34       ` [Xen-devel] " Samuel Thibault
2008-08-05  6:52         ` Gerd Hoffmann
2008-08-05 10:47           ` Samuel Thibault
2008-08-05 11:07             ` Gerd Hoffmann
2008-08-05 11:36               ` Samuel Thibault
2008-08-04 15:50 ` [Qemu-devel] [PATCH 6/7] xen: add net " Gerd Hoffmann
2008-08-04 15:50 ` [Qemu-devel] [PATCH 7/7] xen: blk & nic configuration via cmd line Gerd Hoffmann
2008-08-04 17:35   ` Blue Swirl
2008-08-04 18:12     ` Gerd Hoffmann
2008-08-04 20:45       ` Blue Swirl
2008-08-04 17:42 ` [Qemu-devel] [PATCH 0/7] merge some xen bits into qemu Anthony Liguori
2008-08-05  9:58   ` Gerd Hoffmann
2008-08-05 10:15     ` Samuel Thibault
2008-08-05 10:46   ` Samuel Thibault
2008-08-05 11:12     ` Gerd Hoffmann
2008-08-05 11:29       ` Samuel Thibault
2008-08-05 13:18         ` Gerd Hoffmann
2008-08-05 15:03           ` Samuel Thibault
2008-08-05 15:41             ` Samuel Thibault
2008-08-05 15:46               ` Anthony Liguori
2008-08-05 16:07                 ` Blue Swirl
2008-08-05 15:47               ` Samuel Thibault
2008-08-06 10:14               ` Gerd Hoffmann
2008-08-06 10:23                 ` Samuel Thibault
2008-08-06 12:43                   ` [Xen-devel] " Markus Armbruster
2008-08-06 12:50                     ` Samuel Thibault
2008-08-06 13:54                       ` Gerd Hoffmann
2008-08-06 14:01                         ` Samuel Thibault
2008-08-06 14:08                           ` Gerd Hoffmann
2008-08-06 14:25                             ` Samuel Thibault
2008-08-06 15:35                               ` Gerd Hoffmann
2008-08-06 15:47                                 ` Samuel Thibault
2008-08-06 22:10                                   ` Gerd Hoffmann
2008-08-06 22:16                                     ` Samuel Thibault
2008-08-06 16:01                                 ` Laurent Vivier
2008-08-06 22:10                               ` Samuel Thibault
2008-08-07  7:33                                 ` Gerd Hoffmann
2008-08-07 10:53                                   ` Samuel Thibault
2008-08-07 12:13                                     ` Gerd Hoffmann [this message]
2008-08-07 12:54                                       ` Samuel Thibault
2008-08-07 16:17                                         ` Gerd Hoffmann
2008-08-07 16:48                                           ` Samuel Thibault
2008-08-07 16:54                                             ` Samuel Thibault
2008-08-07 16:09                                       ` Samuel Thibault
2008-08-07 16:34                                       ` Samuel Thibault
2008-08-11  8:16                                         ` Gerd Hoffmann
2008-08-11  9:23                                           ` Stefano Stabellini
2008-08-11 10:12                                       ` Ian Jackson
2008-08-07 15:06                                   ` Blue Swirl
2008-08-07 15:13                                     ` Samuel Thibault
2008-08-07 15:13                                     ` Samuel Thibault
2008-08-07 15:21                                     ` Gerd Hoffmann
2008-08-08 15:24                                       ` Blue Swirl
2008-08-11 12:46                                         ` Gerd Hoffmann
2008-08-11 18:53                                           ` Blue Swirl
2008-08-08 11:03                                     ` Samuel Thibault
2008-08-07 17:40                         ` Stefano Stabellini
2008-08-11  9:18                         ` Ian Jackson
2008-08-11 11:08                           ` Gerd Hoffmann
2008-08-06 13:24                   ` Gerd Hoffmann
2008-08-06 13:39                     ` Samuel Thibault
2008-08-06 14:18                       ` Gerd Hoffmann
2008-08-06 14:51                         ` Samuel Thibault
2008-08-06 15:25                           ` Gerd Hoffmann
2008-08-11 16:36   ` [Qemu-devel] Xen's qemu branches, etc Ian Jackson
2008-08-11 16:48     ` [Qemu-devel] Re: [Xen-devel] " Samuel Thibault
2008-08-11 19:17     ` [Qemu-devel] " Anthony Liguori
2008-08-11 19:34     ` [Qemu-devel] " Gerd Hoffmann
     [not found] <m2n.s.1KNSd3-002QXI@chiark.greenend.org.uk>
2008-07-28 13:31 ` [Qemu-devel] [PATCH 0/7] merge some xen bits into qemu Ian Jackson
2008-07-28 14:43   ` Gerd Hoffmann
2008-07-28 23:24     ` [Xen-devel] " Samuel Thibault

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=489AE6E2.2040500@redhat.com \
    --to=kraxel@redhat.com \
    --cc=Ian.Jackson@eu.citrix.com \
    --cc=anthony@codemonkey.ws \
    --cc=armbru@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=samuel.thibault@eu.citrix.com \
    --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 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).