All of lore.kernel.org
 help / color / mirror / Atom feed
From: Sasha Levin <levinsasha928@gmail.com>
To: Rusty Russell <rusty@rustcorp.com.au>
Cc: Anthony Liguori <anthony@codemonkey.ws>,
	virtualization <virtualization@lists.linux-foundation.org>,
	linux-kernel <linux-kernel@vger.kernel.org>,
	kvm <kvm@vger.kernel.org>, "Michael S. Tsirkin" <mst@redhat.com>
Subject: Re: virtio-pci new configuration proposal
Date: Thu, 03 Nov 2011 10:33:23 +0200	[thread overview]
Message-ID: <1320309203.29407.1.camel@lappy> (raw)
In-Reply-To: <8762j2t19l.fsf@rustcorp.com.au>

On Thu, 2011-11-03 at 12:28 +1030, Rusty Russell wrote: 
> On Wed, 02 Nov 2011 20:49:27 +0200, Sasha Levin <levinsasha928@gmail.com> wrote:
> > This is a proposal for a new layout of the virtio-pci config space.
> > 
> > We will separate the current configuration into two: A virtio-pci common
> > configuration and a device specific configuration. This allows more flexibility
> > with adding features and makes usage easier, specifically in cases like the
> > ones in virtio-net where device specific configurations depend on device
> > specific features.
> 
> Thanks for this Sasha.  Several general comments:
> 
> 1) How to we distinguish the two layouts?  In theory, we need to do this
>    forever.  In practice we can deprecate the old layout in several
>    years' time.

Old layouts won't have the new virtio-pci cap structure in their PCI
config space.

> 2) I don't think we want to turn the device-specific config into a
>    linked list.  We haven't needed variable-length config (yet!), and
>    it's (slightly) more complex.  That's also the part of the spec which
>    is shared with non-PCI virtio implementations.

Variable length config wasn't used yet because space in the device
specific space was reserved for a feature even if that feature wasn't
used.

For example, the MAC feature reserved 6 bytes in the config space for
the MAC even if VIRTIO_NET_F_MAC wasn't enabled. Here we can just avoid
having it pollute the config space until it's enabled.

I don't think it'll have any impact on non-PCI implementations since the
"pointers" are simply offsets from the beginning of the config space,
and are not PCI specific in any way.

> 3) If we're changing the queue layout, it's a chance to fix a
>    longstanding bug: let the guest notify the host of preferred
>    queue size and alignment.

Yup, we can do that.

-- 

Sasha.

WARNING: multiple messages have this Message-ID (diff)
From: Sasha Levin <levinsasha928@gmail.com>
To: Rusty Russell <rusty@rustcorp.com.au>
Cc: "Michael S. Tsirkin" <mst@redhat.com>,
	linux-kernel <linux-kernel@vger.kernel.org>,
	kvm <kvm@vger.kernel.org>,
	virtualization <virtualization@lists.linux-foundation.org>,
	Anthony Liguori <anthony@codemonkey.ws>
Subject: Re: virtio-pci new configuration proposal
Date: Thu, 03 Nov 2011 10:33:23 +0200	[thread overview]
Message-ID: <1320309203.29407.1.camel@lappy> (raw)
In-Reply-To: <8762j2t19l.fsf@rustcorp.com.au>

On Thu, 2011-11-03 at 12:28 +1030, Rusty Russell wrote: 
> On Wed, 02 Nov 2011 20:49:27 +0200, Sasha Levin <levinsasha928@gmail.com> wrote:
> > This is a proposal for a new layout of the virtio-pci config space.
> > 
> > We will separate the current configuration into two: A virtio-pci common
> > configuration and a device specific configuration. This allows more flexibility
> > with adding features and makes usage easier, specifically in cases like the
> > ones in virtio-net where device specific configurations depend on device
> > specific features.
> 
> Thanks for this Sasha.  Several general comments:
> 
> 1) How to we distinguish the two layouts?  In theory, we need to do this
>    forever.  In practice we can deprecate the old layout in several
>    years' time.

Old layouts won't have the new virtio-pci cap structure in their PCI
config space.

> 2) I don't think we want to turn the device-specific config into a
>    linked list.  We haven't needed variable-length config (yet!), and
>    it's (slightly) more complex.  That's also the part of the spec which
>    is shared with non-PCI virtio implementations.

Variable length config wasn't used yet because space in the device
specific space was reserved for a feature even if that feature wasn't
used.

For example, the MAC feature reserved 6 bytes in the config space for
the MAC even if VIRTIO_NET_F_MAC wasn't enabled. Here we can just avoid
having it pollute the config space until it's enabled.

I don't think it'll have any impact on non-PCI implementations since the
"pointers" are simply offsets from the beginning of the config space,
and are not PCI specific in any way.

> 3) If we're changing the queue layout, it's a chance to fix a
>    longstanding bug: let the guest notify the host of preferred
>    queue size and alignment.

Yup, we can do that.

-- 

Sasha.



  reply	other threads:[~2011-11-03  8:33 UTC|newest]

Thread overview: 54+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-11-02 18:49 virtio-pci new configuration proposal Sasha Levin
2011-11-02 18:49 ` Sasha Levin
2011-11-02 19:08 ` Michael S. Tsirkin
2011-11-02 19:08   ` Michael S. Tsirkin
2011-11-02 19:07   ` Sasha Levin
2011-11-02 19:07     ` Sasha Levin
2011-11-02 19:14     ` Michael S. Tsirkin
2011-11-02 19:14       ` Michael S. Tsirkin
2011-11-03  1:58 ` Rusty Russell
2011-11-03  8:33   ` Sasha Levin [this message]
2011-11-03  8:33     ` Sasha Levin
2011-11-03 12:46     ` Michael S. Tsirkin
2011-11-03 12:46       ` Michael S. Tsirkin
2011-11-03 13:19       ` Sasha Levin
2011-11-03 13:19         ` Sasha Levin
2011-11-03 13:48         ` Michael S. Tsirkin
2011-11-03 13:48           ` Michael S. Tsirkin
2011-11-04  9:44     ` Rusty Russell
2011-11-04  9:44     ` Rusty Russell
2011-11-04 11:40       ` Michael S. Tsirkin
2011-11-04 12:32         ` Sasha Levin
2011-11-04 12:32           ` Sasha Levin
2011-11-04 13:51           ` Michael S. Tsirkin
2011-11-04 13:53             ` Sasha Levin
2011-11-04 14:23               ` Michael S. Tsirkin
2011-11-04 14:53                 ` Sasha Levin
2011-11-04 14:53                   ` Sasha Levin
2011-11-06  7:30                   ` Michael S. Tsirkin
2011-11-06  7:30                     ` Michael S. Tsirkin
2011-11-06 20:24                     ` Sasha Levin
2011-11-06 20:24                       ` Sasha Levin
2011-11-06 21:38                       ` Michael S. Tsirkin
2011-11-06 21:38                         ` Michael S. Tsirkin
2011-11-07  5:16                         ` Rusty Russell
2011-11-07  5:16                           ` Rusty Russell
2011-11-07 21:14                           ` Michael S. Tsirkin
2011-11-07 21:14                             ` Michael S. Tsirkin
2011-11-07 23:53                             ` Rusty Russell
2011-11-07 23:53                               ` Rusty Russell
2011-11-08  6:32                               ` Michael S. Tsirkin
2011-11-08  6:32                                 ` Michael S. Tsirkin
2011-11-08 10:21                                 ` Rusty Russell
2011-11-08 10:21                                   ` Rusty Russell
2011-11-08 21:31                                   ` Michael S. Tsirkin
2011-11-08 21:31                                     ` Michael S. Tsirkin
2011-11-08 14:15                               ` Sasha Levin
2011-11-08 14:15                                 ` Sasha Levin
2011-11-04 14:23               ` Michael S. Tsirkin
2011-11-04 13:53             ` Sasha Levin
2011-11-04 13:51           ` Michael S. Tsirkin
2011-11-04 11:40       ` Michael S. Tsirkin
2011-11-03 11:03   ` Michael S. Tsirkin
2011-11-03 11:03     ` Michael S. Tsirkin
2011-11-03  1:58 ` Rusty Russell

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=1320309203.29407.1.camel@lappy \
    --to=levinsasha928@gmail.com \
    --cc=anthony@codemonkey.ws \
    --cc=kvm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mst@redhat.com \
    --cc=rusty@rustcorp.com.au \
    --cc=virtualization@lists.linux-foundation.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.