Re: [PATCH RFC] virtio-pci: flexible configuration layout

From: Michael S. Tsirkin
Date: Thu Nov 03 2011 - 09:29:20 EST


> 2. Move device specific features into the device specific region.
> Currently the features field is a mix between virtio-pci and device
> specific features.

A single feature field with bits partitioned to transport
specific and device specific fields is a generic virtio
thing. So there's relatively little to be gained from
moving the device bits out.

> I did more similar things in the spec suggestion I've sent,

What lacked there is the motivation.

I am aware of several issues that need to be addressed,
as they block extending virtio going forward:
- There's no place to put more transport registers.
For MSIX I hacked around that with moving device config when a feature
bit is set, but in hindsight this setup is fragile
and is panful to extend any further.
Splitting out device and transport helps.
- PIO space is limited. We are wasting it on non data path
configuration. There might also be a wish to have largish data
in configuration space, like a 1024 byte ID field.
- PIO is faster than MMIO on x86 KVM so we need to keep
using it for data path on that architecture
- Support architectures which have host/guest at different
endian-ness.

I addressed the first 3 and added capability infrastructure
which we can use in the future to support the last one
(by nature of using little endian format for capabilities).

> could you
> look at the second part for more ideas please?

I saw the per-queue features - but I don't see how it will work really
or what is the issue they solve.
Any more ideas I missed?

> --
>
> Sasha.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/