From: Avi Kivity <avi-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
To: Rusty Russell <rusty-8n+1lVoiYb80n/F98K4Iww@public.gmane.org>
Cc: kvm-devel
<kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org>,
lguest <lguest-mnsaURCQ41sdnm+yROfE0A@public.gmane.org>,
virtualization
<virtualization-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org>
Subject: Re: [PATCH 1/6] virtio interace
Date: Thu, 20 Sep 2007 14:27:54 +0200 [thread overview]
Message-ID: <46F2674A.2050403@qumranet.com> (raw)
In-Reply-To: <1190290140.7262.228.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
Rusty Russell wrote:
> (Changes:
> - renamed sync to kick as Dor suggested
> - added new_vq and free_vq hooks to create virtqueues
> - define a simple virtio driver, which uses PCI ids
> - provide register/unregister_virtio_driver hooks)
>
> This attempts to implement a "virtual I/O" layer which should allow
> common drivers to be efficiently used across most virtual I/O
> mechanisms. It will no-doubt need further enhancement.
>
> The virtio drivers add and get I/O buffers; as the buffers are consumed
> the driver "interrupt" callbacks are invoked.
>
> It also provides driver register and unregister hooks, which are
> simply overridden at run time (eg. for a guest kernel which supports
> KVM paravirt and lguest).
>
> +++ b/drivers/virtio/virtio.c
> @@ -0,0 +1,20 @@
> +#include <linux/virtio.h>
> +
> +struct virtio_backend_ops virtio_backend_ops;
> +EXPORT_SYMBOL_GPL(virtio_backend_ops);
>
Suggest calling this virtio_transport_ops rather than the too-generic
virtio_backend_ops. Especially since Xen uses backend for something
completely different.
> +
> +/**
> + * virtqueue_ops - operations for virtqueue abstraction layer
> + * @new_vq: create a new virtqueue
> + * config: the virtio_config_space field describing the queue
> + * off: the offset in the config space of the queue configuration
> + * len: the length of the virtio_config_space field
>
'off, len' are really a magic cookie. Why does the interface care about
their meaning?
> + * callback: the driver callback when the queue is used.
>
Missing callback return value description.
> + * @kick: update after add_buf
> + * vq: the struct virtqueue
> + * After one or more add_buf calls, invoke this to kick the virtio layer.
>
'the other side'
I'm not thrilled about reusing pci ids. Maybe the s390 can say whether
this is a real issue.
--
error compiling committee.c: too many arguments to function
-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
next prev parent reply other threads:[~2007-09-20 12:27 UTC|newest]
Thread overview: 82+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-09-20 12:03 [PATCH 0/6] virtio with config abstraction and ring implementation Rusty Russell
[not found] ` <1190289808.7262.223.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2007-09-20 12:09 ` [PATCH 1/6] virtio interace Rusty Russell
2007-09-20 12:12 ` [PATCH 2/6] virtio_config Rusty Russell
[not found] ` <1190290140.7262.228.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2007-09-20 12:12 ` Rusty Russell
2007-09-20 12:14 ` [PATCH 3/6] virtio net driver Rusty Russell
[not found] ` <1190290369.7262.231.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2007-09-20 12:14 ` Rusty Russell
2007-09-20 12:16 ` [PATCH 4/6] virtio block driver Rusty Russell
[not found] ` <1190290495.7262.235.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2007-09-20 12:16 ` Rusty Russell
[not found] ` <1190290606.7262.239.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2007-09-20 12:19 ` [PATCH 5/6] virtio console driver Rusty Russell
2007-09-20 12:27 ` [PATCH 6/6] virtio ring helper Rusty Russell
[not found] ` <1190290761.7262.242.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2007-09-20 12:27 ` Rusty Russell
[not found] ` <1190291234.7262.246.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2007-09-20 12:43 ` Avi Kivity
[not found] ` <46F26AF6.60904-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-09-21 2:04 ` Rusty Russell
[not found] ` <1190340251.19451.36.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2007-09-23 10:05 ` Avi Kivity
[not found] ` <46F63A64.9070200-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-09-23 11:40 ` Rusty Russell
2007-09-23 11:46 ` [kvm-devel] " Avi Kivity
[not found] ` <1190547607.27805.120.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2007-09-23 11:46 ` Avi Kivity
2007-09-23 11:40 ` [kvm-devel] " Rusty Russell
2007-09-23 10:05 ` Avi Kivity
2007-09-21 2:04 ` Rusty Russell
2007-09-20 12:43 ` Avi Kivity
2007-09-20 12:27 ` [PATCH 4/6] virtio block driver Jens Axboe
[not found] ` <20070920122713.GK2367-tSWWG44O7X1aa/9Udqfwiw@public.gmane.org>
2007-09-21 12:00 ` Rusty Russell
2007-09-21 12:27 ` Jens Axboe
[not found] ` <1190376007.27805.19.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2007-09-21 12:27 ` Jens Axboe
[not found] ` <20070921122746.GO2367-tSWWG44O7X1aa/9Udqfwiw@public.gmane.org>
2007-09-23 6:47 ` Rusty Russell
2007-09-23 6:47 ` Rusty Russell
2007-09-21 12:00 ` Rusty Russell
2007-09-20 13:05 ` Jens Axboe
2007-09-21 2:06 ` Rusty Russell
2007-09-21 11:47 ` Jens Axboe
[not found] ` <1190340367.19451.40.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2007-09-21 11:47 ` Jens Axboe
2007-09-21 12:30 ` Rusty Russell
[not found] ` <20070921114703.GN2367-tSWWG44O7X1aa/9Udqfwiw@public.gmane.org>
2007-09-21 12:30 ` Rusty Russell
2007-09-20 12:19 ` [PATCH 5/6] virtio console driver Rusty Russell
2007-09-20 12:27 ` [PATCH 4/6] virtio block driver Jens Axboe
2007-09-20 13:05 ` Jens Axboe
2007-09-21 10:48 ` [PATCH 3/6] virtio net driver Christian Borntraeger
[not found] ` <200709211248.11783.borntraeger-tA70FqPdS9bQT0dZR+AlfA@public.gmane.org>
2007-09-21 11:53 ` Rusty Russell
2007-09-21 12:36 ` [kvm-devel] " Christian Borntraeger
[not found] ` <1190375615.27805.9.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2007-09-21 12:36 ` Christian Borntraeger
[not found] ` <200709211436.43964.borntraeger-tA70FqPdS9bQT0dZR+AlfA@public.gmane.org>
2007-09-21 14:08 ` Herbert Xu
[not found] ` <20070921140833.GA12242-lOAM2aK0SrRLBo1qDEOMRrpzq4S04n8Q@public.gmane.org>
2007-09-21 14:42 ` Christian Borntraeger
2007-09-23 7:13 ` [kvm-devel] " Rusty Russell
[not found] ` <200709211642.25208.borntraeger-tA70FqPdS9bQT0dZR+AlfA@public.gmane.org>
2007-09-23 7:13 ` Rusty Russell
2007-09-21 14:42 ` [kvm-devel] " Christian Borntraeger
2007-09-21 14:59 ` [PATCH] note that NETIF_F_LLTX is deprecated (was: [kvm-devel][PATCH 3/6] virtio net driver) Christian Borntraeger
2007-09-22 0:57 ` Herbert Xu
2007-09-26 2:42 ` [PATCH] note that NETIF_F_LLTX is deprecated David Miller
2007-09-21 14:08 ` [kvm-devel] [PATCH 3/6] virtio net driver Herbert Xu
2007-09-21 11:53 ` Rusty Russell
2007-09-21 10:48 ` Christian Borntraeger
2007-09-20 12:36 ` [PATCH 2/6] virtio_config Avi Kivity
2007-09-20 12:55 ` [kvm-devel] " Avi Kivity
[not found] ` <46F26958.4080102-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-09-20 12:55 ` Avi Kivity
[not found] ` <46F26DC7.9040001-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-09-21 1:50 ` Rusty Russell
2007-09-22 13:03 ` [kvm-devel] " Avi Kivity
[not found] ` <1190339435.19451.23.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2007-09-22 13:03 ` Avi Kivity
2007-09-21 1:50 ` [kvm-devel] " Rusty Russell
2007-09-20 12:36 ` Avi Kivity
2007-09-20 12:27 ` Avi Kivity [this message]
2007-09-21 11:37 ` [kvm-devel] [PATCH 1/6] virtio interace Rusty Russell
2007-09-21 12:05 ` Arnd Bergmann
2007-09-21 12:45 ` Rusty Russell
[not found] ` <200709211405.32116.arnd-r2nGTMty4D4@public.gmane.org>
2007-09-21 12:45 ` Rusty Russell
[not found] ` <1190378736.27805.54.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2007-09-21 14:22 ` Arnd Bergmann
2007-09-22 9:55 ` Rusty Russell
2007-09-22 10:01 ` Arnd Bergmann
[not found] ` <1190454934.27805.80.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2007-09-22 10:01 ` Arnd Bergmann
[not found] ` <200709221201.33865.arnd-r2nGTMty4D4@public.gmane.org>
2007-09-23 8:33 ` Rusty Russell
2007-09-23 11:20 ` Dor Laor
[not found] ` <1190536431.27805.109.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2007-09-23 11:20 ` Dor Laor
2007-09-23 8:33 ` Rusty Russell
2007-09-21 14:22 ` Arnd Bergmann
2007-09-20 12:27 ` [kvm-devel] " Avi Kivity
2007-09-21 12:05 ` Arnd Bergmann
2007-09-20 13:43 ` [PATCH 0/6] virtio with config abstraction and ring implementation Dor Laor
2007-09-20 13:50 ` [Lguest] [PATCH 0/6] virtio with config abstraction and ringimplementation Dor Laor
[not found] ` <46F2791A.8070601-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-09-20 13:50 ` Dor Laor
2007-09-21 3:20 ` [PATCH 0/6] virtio with config abstraction and ring implementation Rusty Russell
2007-09-20 12:09 ` [PATCH 1/6] virtio interace Rusty Russell
2007-09-20 13:43 ` [PATCH 0/6] virtio with config abstraction and ring implementation Dor Laor
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=46F2674A.2050403@qumranet.com \
--to=avi-atkuwr5tajbwk0htik3j/w@public.gmane.org \
--cc=kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org \
--cc=lguest-mnsaURCQ41sdnm+yROfE0A@public.gmane.org \
--cc=rusty-8n+1lVoiYb80n/F98K4Iww@public.gmane.org \
--cc=virtualization-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.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.