All of lore.kernel.org
 help / color / mirror / Atom feed
* OASIS Virtual I/O Device (VIRTIO) TC
@ 2013-08-13 18:41 Daniel Kiper
  2013-08-15 13:37 ` Wei Liu
  0 siblings, 1 reply; 10+ messages in thread
From: Daniel Kiper @ 2013-08-13 18:41 UTC (permalink / raw)
  To: xen-devel

Hi,

I was appointed by Xen Advisory Board to OASIS Virtual I/O Device
(VIRTIO) TC as a memeber. I will oversee its work from Xen point
of view, however, deliverables will be as much as possible
"virtualization platform" agnostic.

According to [1]:

The goal of the OASIS Virtual I/O Device (VIRTIO) TC is to simplify
virtual devices, making them more extensible and more recognizable.

[...]

The TC intends to define formal specifications for virtual device buses
(including PCI) for a variety of devices, including network devices.
Specification development will be based upon the "Virtio PCI Card
Specification" [2] v0.9.5, seeking solutions that support portability,
simplicity, least-surprise for driver authors, extensibility, and
performance. The specification will also document existing
implementations and practice.

[...]

Committee started its work on July 30, 2013. Currently, we are
solving some organizational issues and slowly starting core work.

I am going to post changes proposal for balloon device
(memory hotplug support) and add new timer/clock device
which is not specified in "Virtio PCI Card Specification".

All committee work is made in public. Please check [1] for
more details. However, only members can participate
in teleconferences and vote.

If you have any questions, ideas, concerns, etc. please feel
free to send them to virtio-comment@lists.oasis-open.org [3]
(register to this list first) or directly to me.

1) http://www.oasis-open.org/committees/virtio/
2) http://ozlabs.org/~rusty/virtio-spec/virtio-0.9.5.pdf
3) http://www.oasis-open.org/committees/comments/index.php?wg_abbrev=virtio

Daniel

PS I will be on vacation from 14th of August to 22nd of August.
   I will reply for all emails after 22nd of August.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: OASIS Virtual I/O Device (VIRTIO) TC
  2013-08-13 18:41 OASIS Virtual I/O Device (VIRTIO) TC Daniel Kiper
@ 2013-08-15 13:37 ` Wei Liu
  2013-08-15 14:16   ` Konrad Rzeszutek Wilk
  0 siblings, 1 reply; 10+ messages in thread
From: Wei Liu @ 2013-08-15 13:37 UTC (permalink / raw)
  To: Daniel Kiper; +Cc: wei.liu2, xen-devel

On Tue, Aug 13, 2013 at 08:41:28PM +0200, Daniel Kiper wrote:
> Hi,
> 
> I was appointed by Xen Advisory Board to OASIS Virtual I/O Device
> (VIRTIO) TC as a memeber. I will oversee its work from Xen point
> of view, however, deliverables will be as much as possible
> "virtualization platform" agnostic.
> 
> According to [1]:
> 
> The goal of the OASIS Virtual I/O Device (VIRTIO) TC is to simplify
> virtual devices, making them more extensible and more recognizable.
> 
> [...]
> 
> The TC intends to define formal specifications for virtual device buses
> (including PCI) for a variety of devices, including network devices.
> Specification development will be based upon the "Virtio PCI Card
> Specification" [2] v0.9.5, seeking solutions that support portability,
> simplicity, least-surprise for driver authors, extensibility, and
> performance. The specification will also document existing
> implementations and practice.
> 

How is Xen PV driver fit in this? Xen PV doesn't have virtual PCI bus.

Wei.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: OASIS Virtual I/O Device (VIRTIO) TC
  2013-08-15 13:37 ` Wei Liu
@ 2013-08-15 14:16   ` Konrad Rzeszutek Wilk
  2013-08-15 14:24     ` Wei Liu
  0 siblings, 1 reply; 10+ messages in thread
From: Konrad Rzeszutek Wilk @ 2013-08-15 14:16 UTC (permalink / raw)
  To: Wei Liu; +Cc: Daniel Kiper, xen-devel

On Thu, Aug 15, 2013 at 02:37:28PM +0100, Wei Liu wrote:
> On Tue, Aug 13, 2013 at 08:41:28PM +0200, Daniel Kiper wrote:
> > Hi,
> > 
> > I was appointed by Xen Advisory Board to OASIS Virtual I/O Device
> > (VIRTIO) TC as a memeber. I will oversee its work from Xen point
> > of view, however, deliverables will be as much as possible
> > "virtualization platform" agnostic.
> > 
> > According to [1]:
> > 
> > The goal of the OASIS Virtual I/O Device (VIRTIO) TC is to simplify
> > virtual devices, making them more extensible and more recognizable.
> > 
> > [...]
> > 
> > The TC intends to define formal specifications for virtual device buses
> > (including PCI) for a variety of devices, including network devices.
> > Specification development will be based upon the "Virtio PCI Card
> > Specification" [2] v0.9.5, seeking solutions that support portability,
> > simplicity, least-surprise for driver authors, extensibility, and
> > performance. The specification will also document existing
> > implementations and practice.
> > 
> 
> How is Xen PV driver fit in this? Xen PV doesn't have virtual PCI bus.

You should know that better than anybody else I think :-)

One could implement an PCI over XenBus I suppose. Or just write an
XenBus PCI driver that would do all the neccessary things to respond
to the proper commands.
> 
> Wei.
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: OASIS Virtual I/O Device (VIRTIO) TC
  2013-08-15 14:16   ` Konrad Rzeszutek Wilk
@ 2013-08-15 14:24     ` Wei Liu
  2013-08-15 14:58       ` Ian Campbell
  0 siblings, 1 reply; 10+ messages in thread
From: Wei Liu @ 2013-08-15 14:24 UTC (permalink / raw)
  To: Konrad Rzeszutek Wilk; +Cc: Daniel Kiper, Wei Liu, xen-devel

On Thu, Aug 15, 2013 at 10:16:41AM -0400, Konrad Rzeszutek Wilk wrote:
> On Thu, Aug 15, 2013 at 02:37:28PM +0100, Wei Liu wrote:
> > On Tue, Aug 13, 2013 at 08:41:28PM +0200, Daniel Kiper wrote:
> > > Hi,
> > > 
> > > I was appointed by Xen Advisory Board to OASIS Virtual I/O Device
> > > (VIRTIO) TC as a memeber. I will oversee its work from Xen point
> > > of view, however, deliverables will be as much as possible
> > > "virtualization platform" agnostic.
> > > 
> > > According to [1]:
> > > 
> > > The goal of the OASIS Virtual I/O Device (VIRTIO) TC is to simplify
> > > virtual devices, making them more extensible and more recognizable.
> > > 
> > > [...]
> > > 
> > > The TC intends to define formal specifications for virtual device buses
> > > (including PCI) for a variety of devices, including network devices.
> > > Specification development will be based upon the "Virtio PCI Card
> > > Specification" [2] v0.9.5, seeking solutions that support portability,
> > > simplicity, least-surprise for driver authors, extensibility, and
> > > performance. The specification will also document existing
> > > implementations and practice.
> > > 
> > 
> > How is Xen PV driver fit in this? Xen PV doesn't have virtual PCI bus.
> 
> 

My limited knowledge of Virtio is pretty dated now, that's why I raised
that question. ;-)

> One could implement an PCI over XenBus I suppose. Or just write an
> XenBus PCI driver that would do all the neccessary things to respond
> to the proper commands.
> > 

Back in the date my impression was that XenBus is asynchronuous while
virtual PCI is synchronuous (i.e. trap-process-return), they are not
quite compatible.

Furtuer more using XenBus is mainly used for configuration, while Virtio
over PCI supports both configuration and sending notifications etc.

I'm not sure XenBus PCI driver would be a good idea...

Wei.

> > Wei.
> > 
> > _______________________________________________
> > Xen-devel mailing list
> > Xen-devel@lists.xen.org
> > http://lists.xen.org/xen-devel

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: OASIS Virtual I/O Device (VIRTIO) TC
  2013-08-15 14:24     ` Wei Liu
@ 2013-08-15 14:58       ` Ian Campbell
  2013-08-15 15:09         ` Wei Liu
  0 siblings, 1 reply; 10+ messages in thread
From: Ian Campbell @ 2013-08-15 14:58 UTC (permalink / raw)
  To: Wei Liu; +Cc: Daniel Kiper, xen-devel

On Thu, 2013-08-15 at 15:24 +0100, Wei Liu wrote:
> On Thu, Aug 15, 2013 at 10:16:41AM -0400, Konrad Rzeszutek Wilk wrote:
> > On Thu, Aug 15, 2013 at 02:37:28PM +0100, Wei Liu wrote:
> > > On Tue, Aug 13, 2013 at 08:41:28PM +0200, Daniel Kiper wrote:
> > > > Hi,
> > > > 
> > > > I was appointed by Xen Advisory Board to OASIS Virtual I/O Device
> > > > (VIRTIO) TC as a memeber. I will oversee its work from Xen point
> > > > of view, however, deliverables will be as much as possible
> > > > "virtualization platform" agnostic.
> > > > 
> > > > According to [1]:
> > > > 
> > > > The goal of the OASIS Virtual I/O Device (VIRTIO) TC is to simplify
> > > > virtual devices, making them more extensible and more recognizable.
> > > > 
> > > > [...]
> > > > 
> > > > The TC intends to define formal specifications for virtual device buses
> > > > (including PCI) for a variety of devices, including network devices.
> > > > Specification development will be based upon the "Virtio PCI Card
> > > > Specification" [2] v0.9.5, seeking solutions that support portability,
> > > > simplicity, least-surprise for driver authors, extensibility, and
> > > > performance. The specification will also document existing
> > > > implementations and practice.
> > > > 
> > > 
> > > How is Xen PV driver fit in this? Xen PV doesn't have virtual PCI bus.
> > 
> > 
> 
> My limited knowledge of Virtio is pretty dated now, that's why I raised
> that question. ;-)
> 
> > One could implement an PCI over XenBus I suppose. Or just write an
> > XenBus PCI driver that would do all the neccessary things to respond
> > to the proper commands.
> > > 
> 
> Back in the date my impression was that XenBus is asynchronuous while
> virtual PCI is synchronuous (i.e. trap-process-return), they are not
> quite compatible.
> 
> Furtuer more using XenBus is mainly used for configuration, while Virtio
> over PCI supports both configuration and sending notifications etc.
> 
> I'm not sure XenBus PCI driver would be a good idea...

I thought this part of virtio was pluggable and that PCI was one option
(although for a long time the only one). On ARM you can also use
virt_mmio instead these days. A shared ring for cfg + evtchn model for
notification doesn't seem too far fetched to me.

A far bigger problem IMHO with virtio is that it basically discards the
Xen security model. I don't know how hard it will be to retrofit gnttab
based access control into the virtio protocols. A lot would be my
guess...

Ian.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: OASIS Virtual I/O Device (VIRTIO) TC
  2013-08-15 14:58       ` Ian Campbell
@ 2013-08-15 15:09         ` Wei Liu
  2013-08-27  9:37           ` Daniel Kiper
  0 siblings, 1 reply; 10+ messages in thread
From: Wei Liu @ 2013-08-15 15:09 UTC (permalink / raw)
  To: Ian Campbell; +Cc: Daniel Kiper, xen-devel, Wei Liu

On Thu, Aug 15, 2013 at 03:58:46PM +0100, Ian Campbell wrote:
> On Thu, 2013-08-15 at 15:24 +0100, Wei Liu wrote:
> > On Thu, Aug 15, 2013 at 10:16:41AM -0400, Konrad Rzeszutek Wilk wrote:
> > > On Thu, Aug 15, 2013 at 02:37:28PM +0100, Wei Liu wrote:
> > > > On Tue, Aug 13, 2013 at 08:41:28PM +0200, Daniel Kiper wrote:
> > > > > Hi,
> > > > > 
> > > > > I was appointed by Xen Advisory Board to OASIS Virtual I/O Device
> > > > > (VIRTIO) TC as a memeber. I will oversee its work from Xen point
> > > > > of view, however, deliverables will be as much as possible
> > > > > "virtualization platform" agnostic.
> > > > > 
> > > > > According to [1]:
> > > > > 
> > > > > The goal of the OASIS Virtual I/O Device (VIRTIO) TC is to simplify
> > > > > virtual devices, making them more extensible and more recognizable.
> > > > > 
> > > > > [...]
> > > > > 
> > > > > The TC intends to define formal specifications for virtual device buses
> > > > > (including PCI) for a variety of devices, including network devices.
> > > > > Specification development will be based upon the "Virtio PCI Card
> > > > > Specification" [2] v0.9.5, seeking solutions that support portability,
> > > > > simplicity, least-surprise for driver authors, extensibility, and
> > > > > performance. The specification will also document existing
> > > > > implementations and practice.
> > > > > 
> > > > 
> > > > How is Xen PV driver fit in this? Xen PV doesn't have virtual PCI bus.
> > > 
> > > 
> > 
> > My limited knowledge of Virtio is pretty dated now, that's why I raised
> > that question. ;-)
> > 
> > > One could implement an PCI over XenBus I suppose. Or just write an
> > > XenBus PCI driver that would do all the neccessary things to respond
> > > to the proper commands.
> > > > 
> > 
> > Back in the date my impression was that XenBus is asynchronuous while
> > virtual PCI is synchronuous (i.e. trap-process-return), they are not
> > quite compatible.
> > 
> > Furtuer more using XenBus is mainly used for configuration, while Virtio
> > over PCI supports both configuration and sending notifications etc.
> > 
> > I'm not sure XenBus PCI driver would be a good idea...
> 
> I thought this part of virtio was pluggable and that PCI was one option
> (although for a long time the only one). On ARM you can also use

Yes this is true.

However the statement (?) in Daniel's first email (based upon the
"Virtio PCI Card Specification") gave me the impression that they
planned to support virtual PCI only...

> virt_mmio instead these days. A shared ring for cfg + evtchn model for
> notification doesn't seem too far fetched to me.
> 
> A far bigger problem IMHO with virtio is that it basically discards the
> Xen security model. I don't know how hard it will be to retrofit gnttab
> based access control into the virtio protocols. A lot would be my
> guess...
> 

Indeed, seems there is lots of work to do...

Wei.

> Ian.
> 

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: OASIS Virtual I/O Device (VIRTIO) TC
  2013-08-15 15:09         ` Wei Liu
@ 2013-08-27  9:37           ` Daniel Kiper
  2013-08-27 11:06             ` Wei Liu
  0 siblings, 1 reply; 10+ messages in thread
From: Daniel Kiper @ 2013-08-27  9:37 UTC (permalink / raw)
  To: Wei Liu; +Cc: xen-devel, Ian Campbell

Sorry for late reply but I was on vaction. Slowly recovering.

On Thu, Aug 15, 2013 at 04:09:04PM +0100, Wei Liu wrote:
> On Thu, Aug 15, 2013 at 03:58:46PM +0100, Ian Campbell wrote:
> > On Thu, 2013-08-15 at 15:24 +0100, Wei Liu wrote:
> > > On Thu, Aug 15, 2013 at 10:16:41AM -0400, Konrad Rzeszutek Wilk wrote:
> > > > On Thu, Aug 15, 2013 at 02:37:28PM +0100, Wei Liu wrote:
> > > > > On Tue, Aug 13, 2013 at 08:41:28PM +0200, Daniel Kiper wrote:
> > > > > > Hi,
> > > > > >
> > > > > > I was appointed by Xen Advisory Board to OASIS Virtual I/O Device
> > > > > > (VIRTIO) TC as a memeber. I will oversee its work from Xen point
> > > > > > of view, however, deliverables will be as much as possible
> > > > > > "virtualization platform" agnostic.
> > > > > >
> > > > > > According to [1]:
> > > > > >
> > > > > > The goal of the OASIS Virtual I/O Device (VIRTIO) TC is to simplify
> > > > > > virtual devices, making them more extensible and more recognizable.
> > > > > >
> > > > > > [...]
> > > > > >
> > > > > > The TC intends to define formal specifications for virtual device buses
> > > > > > (including PCI) for a variety of devices, including network devices.
> > > > > > Specification development will be based upon the "Virtio PCI Card
> > > > > > Specification" [2] v0.9.5, seeking solutions that support portability,
> > > > > > simplicity, least-surprise for driver authors, extensibility, and
> > > > > > performance. The specification will also document existing
> > > > > > implementations and practice.
> > > > > >
> > > > >
> > > > > How is Xen PV driver fit in this? Xen PV doesn't have virtual PCI bus.
> > > >
> > > >
> > >
> > > My limited knowledge of Virtio is pretty dated now, that's why I raised
> > > that question. ;-)
> > >
> > > > One could implement an PCI over XenBus I suppose. Or just write an
> > > > XenBus PCI driver that would do all the neccessary things to respond
> > > > to the proper commands.
> > > > >
> > >
> > > Back in the date my impression was that XenBus is asynchronuous while
> > > virtual PCI is synchronuous (i.e. trap-process-return), they are not
> > > quite compatible.
> > >
> > > Furtuer more using XenBus is mainly used for configuration, while Virtio
> > > over PCI supports both configuration and sending notifications etc.
> > >
> > > I'm not sure XenBus PCI driver would be a good idea...
> >
> > I thought this part of virtio was pluggable and that PCI was one option
> > (although for a long time the only one). On ARM you can also use
>
> Yes this is true.
>
> However the statement (?) in Daniel's first email (based upon the
> "Virtio PCI Card Specification") gave me the impression that they
> planned to support virtual PCI only...

Right, VIRTIO TC started its work on the base of "Virtio PCI Card Specification".
However, it was stated immediately that PCI specification should be excluded
from main specification and should form a separate attachment. It means that
VIRTIO would not require PCI bus in the future. Additionally, current document
contains specification for MMIO which looks like good alternative for PCI.

> > virt_mmio instead these days. A shared ring for cfg + evtchn model for
> > notification doesn't seem too far fetched to me.
> >
> > A far bigger problem IMHO with virtio is that it basically discards the
> > Xen security model. I don't know how hard it will be to retrofit gnttab
> > based access control into the virtio protocols. A lot would be my
> > guess...

I am going to convince VIRTIO TC that new spec should be Xen friendly too.

> Indeed, seems there is lots of work to do...

By the way, Wei, Konrad told me that you worked on VRITIO implementation
for Xen and you have hands-on-experience with it. Could you tell me what
issues you met during your work on VRITIO support for Xen environment?

Daniel

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: OASIS Virtual I/O Device (VIRTIO) TC
  2013-08-27  9:37           ` Daniel Kiper
@ 2013-08-27 11:06             ` Wei Liu
  2013-08-29 11:24               ` Daniel Kiper
  0 siblings, 1 reply; 10+ messages in thread
From: Wei Liu @ 2013-08-27 11:06 UTC (permalink / raw)
  To: Daniel Kiper; +Cc: xen-devel, Wei Liu, Ian Campbell

On Tue, Aug 27, 2013 at 11:37:41AM +0200, Daniel Kiper wrote:
[...]
> > Yes this is true.
> >
> > However the statement (?) in Daniel's first email (based upon the
> > "Virtio PCI Card Specification") gave me the impression that they
> > planned to support virtual PCI only...
> 
> Right, VIRTIO TC started its work on the base of "Virtio PCI Card Specification".
> However, it was stated immediately that PCI specification should be excluded
> from main specification and should form a separate attachment. It means that
> VIRTIO would not require PCI bus in the future. Additionally, current document
> contains specification for MMIO which looks like good alternative for PCI.
> 
> > > virt_mmio instead these days. A shared ring for cfg + evtchn model for
> > > notification doesn't seem too far fetched to me.
> > >
> > > A far bigger problem IMHO with virtio is that it basically discards the
> > > Xen security model. I don't know how hard it will be to retrofit gnttab
> > > based access control into the virtio protocols. A lot would be my
> > > guess...
> 
> I am going to convince VIRTIO TC that new spec should be Xen friendly too.
> 
> > Indeed, seems there is lots of work to do...
> 
> By the way, Wei, Konrad told me that you worked on VRITIO implementation
> for Xen and you have hands-on-experience with it. Could you tell me what
> issues you met during your work on VRITIO support for Xen environment?
> 

I would not say I have very deep understanding of it because I only
worked on it part-time for two months. But I will try to best to
remember and elaborate. :-)

For HVM guests Virtio works just fine. Xen uses QEMU as device model
which means we have Virtio devices for free. In this case all Virtio
devices use virtual PCI bus provided by QEMU. Basically we get most of
the things for free.

(A recent email on netdev@ from an engineer in Huawei suggests that
virto-net + vhost-net works for him, which is really great. Ref: Is
fallback vhost_net to qemu for live migrate
available?<521C1DCF.5090202@huawei.com>)

For PV guests it requires more work. Virtio is designed to be portable.
The PCI and MMIO implementations your mentioned are in fact called
"transport". As PV guests don't have virtual PCI buses and MMIO don't
seem to work on Xen PV either (it's very possible that I'm wrong on this
MMIO thing as I'm not familiar with it), I had to implement a new
transport. TBH the biggest issue is more of an engineering problem --
virtual PCI is sync while Xen DomU and Dom0 run in prarallel.
The approach I chose back then was just a hack mimicking PCI
which made everything slow. It was not meant to be canonical or
upstreamable. If I were to do this now I would choose to apply the Xen
PV model to the transport.

To make the whole thing work we also need backend supporting Virtio. The
closest thing at hand was QEMU, but again, the transport had to be
re-implemented.

The hack is on http://wiki.xen.org/wiki/Virtio_On_Xen

Wei.

> Daniel

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

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: OASIS Virtual I/O Device (VIRTIO) TC
  2013-08-27 11:06             ` Wei Liu
@ 2013-08-29 11:24               ` Daniel Kiper
  2013-08-29 12:56                 ` Wei Liu
  0 siblings, 1 reply; 10+ messages in thread
From: Daniel Kiper @ 2013-08-29 11:24 UTC (permalink / raw)
  To: Wei Liu; +Cc: xen-devel, Ian Campbell

On Tue, Aug 27, 2013 at 12:06:59PM +0100, Wei Liu wrote:
> On Tue, Aug 27, 2013 at 11:37:41AM +0200, Daniel Kiper wrote:
> [...]
> > > Yes this is true.
> > >
> > > However the statement (?) in Daniel's first email (based upon the
> > > "Virtio PCI Card Specification") gave me the impression that they
> > > planned to support virtual PCI only...
> >
> > Right, VIRTIO TC started its work on the base of "Virtio PCI Card Specification".
> > However, it was stated immediately that PCI specification should be excluded
> > from main specification and should form a separate attachment. It means that
> > VIRTIO would not require PCI bus in the future. Additionally, current document
> > contains specification for MMIO which looks like good alternative for PCI.
> >
> > > > virt_mmio instead these days. A shared ring for cfg + evtchn model for
> > > > notification doesn't seem too far fetched to me.
> > > >
> > > > A far bigger problem IMHO with virtio is that it basically discards the
> > > > Xen security model. I don't know how hard it will be to retrofit gnttab
> > > > based access control into the virtio protocols. A lot would be my
> > > > guess...
> >
> > I am going to convince VIRTIO TC that new spec should be Xen friendly too.
> >
> > > Indeed, seems there is lots of work to do...
> >
> > By the way, Wei, Konrad told me that you worked on VRITIO implementation
> > for Xen and you have hands-on-experience with it. Could you tell me what
> > issues you met during your work on VRITIO support for Xen environment?
> >
>
> I would not say I have very deep understanding of it because I only
> worked on it part-time for two months. But I will try to best to
> remember and elaborate. :-)
>
> For HVM guests Virtio works just fine. Xen uses QEMU as device model
> which means we have Virtio devices for free. In this case all Virtio
> devices use virtual PCI bus provided by QEMU. Basically we get most of
> the things for free.
>
> (A recent email on netdev@ from an engineer in Huawei suggests that
> virto-net + vhost-net works for him, which is really great. Ref: Is
> fallback vhost_net to qemu for live migrate
> available?<521C1DCF.5090202@huawei.com>)
>
> For PV guests it requires more work. Virtio is designed to be portable.
> The PCI and MMIO implementations your mentioned are in fact called
> "transport". As PV guests don't have virtual PCI buses and MMIO don't
> seem to work on Xen PV either (it's very possible that I'm wrong on this
> MMIO thing as I'm not familiar with it), I had to implement a new
> transport. TBH the biggest issue is more of an engineering problem --
> virtual PCI is sync while Xen DomU and Dom0 run in prarallel.
> The approach I chose back then was just a hack mimicking PCI
> which made everything slow. It was not meant to be canonical or
> upstreamable. If I were to do this now I would choose to apply the Xen
> PV model to the transport.
>
> To make the whole thing work we also need backend supporting Virtio. The
> closest thing at hand was QEMU, but again, the transport had to be
> re-implemented.
>
> The hack is on http://wiki.xen.org/wiki/Virtio_On_Xen

Thanks for lengthy explanation. It looks that a lot of work has been done.
Could you tell or point where I could find info how buffers/rings are
shared between backend and frontend? Is grant page mechanism used at all?
How buffers/rings addresses are passed between backend and frontend?

Daniel

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

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: OASIS Virtual I/O Device (VIRTIO) TC
  2013-08-29 11:24               ` Daniel Kiper
@ 2013-08-29 12:56                 ` Wei Liu
  0 siblings, 0 replies; 10+ messages in thread
From: Wei Liu @ 2013-08-29 12:56 UTC (permalink / raw)
  To: Daniel Kiper; +Cc: xen-devel, Wei Liu, Ian Campbell

On Thu, Aug 29, 2013 at 01:24:03PM +0200, Daniel Kiper wrote:
> >
> > To make the whole thing work we also need backend supporting Virtio. The
> > closest thing at hand was QEMU, but again, the transport had to be
> > re-implemented.
> >
> > The hack is on http://wiki.xen.org/wiki/Virtio_On_Xen
> 
> Thanks for lengthy explanation. It looks that a lot of work has been done.
> Could you tell or point where I could find info how buffers/rings are
> shared between backend and frontend? Is grant page mechanism used at all?
> How buffers/rings addresses are passed between backend and frontend?
> 

Grant table was not used there. I used foreign mapping in QEMU. In that
hack, MFN is passed on the ring. Looking at the original virtio_ring.c
it should be trivial to replace physical addree with a grant ref, thus
allowing proper use of grant table mechanism.

Wei.

> Daniel

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2013-08-29 12:56 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-08-13 18:41 OASIS Virtual I/O Device (VIRTIO) TC Daniel Kiper
2013-08-15 13:37 ` Wei Liu
2013-08-15 14:16   ` Konrad Rzeszutek Wilk
2013-08-15 14:24     ` Wei Liu
2013-08-15 14:58       ` Ian Campbell
2013-08-15 15:09         ` Wei Liu
2013-08-27  9:37           ` Daniel Kiper
2013-08-27 11:06             ` Wei Liu
2013-08-29 11:24               ` Daniel Kiper
2013-08-29 12:56                 ` Wei Liu

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.