* [PULL] virtio
@ 2009-06-12 12:48 Rusty Russell
0 siblings, 0 replies; 17+ messages in thread
From: Rusty Russell @ 2009-06-12 12:48 UTC (permalink / raw)
To: Linus Torvalds
Cc: Mark McLoughlin, Mike Frysinger, Michael S. Tsirkin, linux-kernel,
virtualization, Christian Borntraeger
The following changes since commit 8ebf975608aaebd7feb33d77f07ba21a6380e086:
Randy Dunlap (1):
block: fix kernel-doc in recent block/ changes
are available in the git repository at:
ssh://master.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-virtio.git master
Christian Borntraeger (2):
virtio: fix id_matching for virtio drivers
virtio: enhance id_matching for virtio drivers
Mark McLoughlin (2):
virtio: teach virtio_has_feature() about transport features
virtio: indirect ring entries (VIRTIO_RING_F_INDIRECT_DESC)
Michael S. Tsirkin (3):
virtio: find_vqs/del_vqs virtio operations
virtio_pci: split up vp_interrupt
virtio_pci: optional MSI-X support
Mike Frysinger (1):
virtio_blk: add missing __dev{init,exit} markings
Rusty Russell (5):
virtio: fix obsolete documentation on probe function
virtio: meet virtio spec by finalizing features before using device
virtio: add names to virtqueue struct, mapping from devices to queues.
virtio: expose features in sysfs
virtio: handle short buffers in virtio_rng.
drivers/block/virtio_blk.c | 10 +-
drivers/char/hw_random/virtio-rng.c | 30 +++--
drivers/char/virtio_console.c | 26 ++--
drivers/lguest/lguest_device.c | 41 +++++-
drivers/net/virtio_net.c | 45 ++---
drivers/s390/kvm/kvm_virtio.c | 43 +++++-
drivers/virtio/virtio.c | 29 +++-
drivers/virtio/virtio_balloon.c | 27 ++--
drivers/virtio/virtio_pci.c | 307 ++++++++++++++++++++++++++++++-----
drivers/virtio/virtio_ring.c | 102 +++++++++++-
include/linux/virtio.h | 15 +-
include/linux/virtio_config.h | 49 +++++--
include/linux/virtio_pci.h | 10 +-
include/linux/virtio_ring.h | 8 +-
net/9p/trans_virtio.c | 6 +-
scripts/mod/file2alias.c | 2 +-
16 files changed, 592 insertions(+), 158 deletions(-)
^ permalink raw reply [flat|nested] 17+ messages in thread
* [PULL] virtio
@ 2010-02-28 18:43 Michael S. Tsirkin
0 siblings, 0 replies; 17+ messages in thread
From: Michael S. Tsirkin @ 2010-02-28 18:43 UTC (permalink / raw)
To: Rusty Russell
Cc: Shirley Ma, Jamie Lokier, linux-kernel, virtualization,
Anthony Liguori, Amit Shah, Linus Torvalds, hch
Linus,
Rusty asked me to resolve any issues with virtio and lguest that
surface, so here comes.
Thanks!
The following changes since commit 847f9c606cad121cebf984639e3eeee1c4db82f8:
Linus Torvalds (1):
Merge branch 'for-linus' of git://git.kernel.org/.../geert/linux-m68k
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost.git for-linus
Michael S. Tsirkin (1):
virtio: fix out of range array access
drivers/virtio/virtio_pci.c | 3 ++-
1 files changed, 2 insertions(+), 1 deletions(-)
--
MST
^ permalink raw reply [flat|nested] 17+ messages in thread
* [PULL] virtio
@ 2010-03-07 10:42 Michael S. Tsirkin
2010-03-07 10:57 ` Alexander Graf
0 siblings, 1 reply; 17+ messages in thread
From: Michael S. Tsirkin @ 2010-03-07 10:42 UTC (permalink / raw)
To: Rusty Russell
Cc: Shirley Ma, Jamie Lokier, linux-kernel, virtualization,
Anthony Liguori, Amit Shah, Linus Torvalds, hch
Linus,
Please pull another virtio fix: this one fixes hotplug and
was supposed to be applied by Rusty already
(http://lkml.org/lkml/2009/11/30/451), but apparently got lost,
somehow.
Thanks!
The following changes since commit 3119815912a220bdac943dfbdfee640414c0c611:
Michael S. Tsirkin (1):
virtio: fix out of range array access
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost.git for-linus
Michael S. Tsirkin (1):
virtio: set pci bus master enable bit
drivers/virtio/virtio_pci.c | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PULL] virtio
2010-03-07 10:42 [PULL] virtio Michael S. Tsirkin
@ 2010-03-07 10:57 ` Alexander Graf
2010-03-07 11:04 ` Michael S. Tsirkin
0 siblings, 1 reply; 17+ messages in thread
From: Alexander Graf @ 2010-03-07 10:57 UTC (permalink / raw)
To: Michael S.Tsirkin
Cc: Shirley Ma, Jamie Lokier, linux-kernel, virtualization,
Anthony Liguori, Amit Shah, Linus Torvalds, hch
On 07.03.2010, at 11:42, Michael S. Tsirkin wrote:
> Linus,
> Please pull another virtio fix: this one fixes hotplug and
> was supposed to be applied by Rusty already
> (http://lkml.org/lkml/2009/11/30/451), but apparently got lost,
> somehow.
>
> Thanks!
>
> The following changes since commit 3119815912a220bdac943dfbdfee640414c0c611:
> Michael S. Tsirkin (1):
> virtio: fix out of range array access
>
> are available in the git repository at:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost.git for-linus
>
> Michael S. Tsirkin (1):
> virtio: set pci bus master enable bit
This is still missing an identifier for the hypervisor. We need to know if the guest will ever set bus master enabled or not, so we can have a compat hack in qemu to not check for it.
Alex
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PULL] virtio
2010-03-07 10:57 ` Alexander Graf
@ 2010-03-07 11:04 ` Michael S. Tsirkin
2010-03-07 11:11 ` Alexander Graf
0 siblings, 1 reply; 17+ messages in thread
From: Michael S. Tsirkin @ 2010-03-07 11:04 UTC (permalink / raw)
To: Alexander Graf
Cc: Shirley Ma, Jamie Lokier, linux-kernel, virtualization,
Anthony Liguori, Amit Shah, Linus Torvalds, hch
On Sun, Mar 07, 2010 at 11:57:23AM +0100, Alexander Graf wrote:
>
> On 07.03.2010, at 11:42, Michael S. Tsirkin wrote:
>
> > Linus,
> > Please pull another virtio fix: this one fixes hotplug and
> > was supposed to be applied by Rusty already
> > (http://lkml.org/lkml/2009/11/30/451), but apparently got lost,
> > somehow.
> >
> > Thanks!
> >
> > The following changes since commit 3119815912a220bdac943dfbdfee640414c0c611:
> > Michael S. Tsirkin (1):
> > virtio: fix out of range array access
> >
> > are available in the git repository at:
> >
> > git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost.git for-linus
> >
> > Michael S. Tsirkin (1):
> > virtio: set pci bus master enable bit
>
> This is still missing an identifier for the hypervisor. We need to know if the guest will ever set bus master enabled or not, so we can have a compat hack in qemu to not check for it.
>
>
> Alex
This patch fixes hotplug with qemu 0.11-0.12 which can't make use of a new
identifier without a time machine.
IMHO we can't add new identifiers in time for 2.6.34 anyway, so if you
want to do that, please send a patch and have it queued up for the next
release. But I don't think we need an identifier for compat hack.
Hypervisor can detect buggy guests when they set status to OK without
enabling bus master first.
Makes sense?
--
MST
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PULL] virtio
2010-03-07 11:04 ` Michael S. Tsirkin
@ 2010-03-07 11:11 ` Alexander Graf
0 siblings, 0 replies; 17+ messages in thread
From: Alexander Graf @ 2010-03-07 11:11 UTC (permalink / raw)
To: Michael S. Tsirkin
Cc: Shirley Ma, Jamie Lokier, linux-kernel, virtualization,
Anthony Liguori, Amit Shah, Linus Torvalds, hch
On 07.03.2010, at 12:04, Michael S. Tsirkin wrote:
> On Sun, Mar 07, 2010 at 11:57:23AM +0100, Alexander Graf wrote:
>>
>> On 07.03.2010, at 11:42, Michael S. Tsirkin wrote:
>>
>>> Linus,
>>> Please pull another virtio fix: this one fixes hotplug and
>>> was supposed to be applied by Rusty already
>>> (http://lkml.org/lkml/2009/11/30/451), but apparently got lost,
>>> somehow.
>>>
>>> Thanks!
>>>
>>> The following changes since commit 3119815912a220bdac943dfbdfee640414c0c611:
>>> Michael S. Tsirkin (1):
>>> virtio: fix out of range array access
>>>
>>> are available in the git repository at:
>>>
>>> git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost.git for-linus
>>>
>>> Michael S. Tsirkin (1):
>>> virtio: set pci bus master enable bit
>>
>> This is still missing an identifier for the hypervisor. We need to know if the guest will ever set bus master enabled or not, so we can have a compat hack in qemu to not check for it.
>>
>>
>> Alex
>
> This patch fixes hotplug with qemu 0.11-0.12 which can't make use of a new
> identifier without a time machine.
For 0.12 there's -stable and I don't think the bad patch is in 0.11 yet?
> IMHO we can't add new identifiers in time for 2.6.34 anyway, so if you
> want to do that, please send a patch and have it queued up for the next
> release. But I don't think we need an identifier for compat hack.
> Hypervisor can detect buggy guests when they set status to OK without
> enabling bus master first.
>
> Makes sense?
Ah, so you'd do the compat hack purely in qemu? Sounds good to me.
Nevermind the noise - please take that patch :-).
Alex
^ permalink raw reply [flat|nested] 17+ messages in thread
* [PULL] virtio
@ 2010-03-22 14:34 Michael S. Tsirkin
0 siblings, 0 replies; 17+ messages in thread
From: Michael S. Tsirkin @ 2010-03-22 14:34 UTC (permalink / raw)
To: Rusty Russell; +Cc: Amit Shah, Linus Torvalds, linux-kernel, virtualization
Linus,
Please pull a couple of virtio-console fixes by Amit.
The following changes since commit 220bf991b0366cc50a94feede3d7341fa5710ee4:
Linux 2.6.34-rc2 (2010-03-19 18:17:57 -0700)
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost.git for-linus
Amit Shah (2):
virtio: console: Generate a kobject CHANGE event on adding 'name' attribute
virtio: console: Check if port is valid in resize_console
drivers/char/virtio_console.c | 15 +++++++++++++--
1 files changed, 13 insertions(+), 2 deletions(-)
^ permalink raw reply [flat|nested] 17+ messages in thread
* [PULL] virtio
@ 2010-05-19 12:53 Rusty Russell
0 siblings, 0 replies; 17+ messages in thread
From: Rusty Russell @ 2010-05-19 12:53 UTC (permalink / raw)
To: Linus Torvalds; +Cc: linux-kernel, virtualization
The following changes since commit 537b60d17894b7c19a6060feae40299d7109d6e7:
Linus Torvalds (1):
Merge branch 'x86-uv-for-linus' of git://git.kernel.org/.../tip/linux-2.6-tip
are available in the git repository at:
ssh://master.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus.git virtio
Amit Shah (14):
virtio: Revert "virtio: disable multiport console support."
virtio: console: Add a __send_control_msg() that can send messages without a valid port
virtio: console: Let host know of port or device add failures
virtio: console: Return -EPIPE to hvc_console if we lost the connection
virtio: console: Don't call hvc_remove() on unplugging console ports
virtio: console: Remove config work handler
virtio: console: Move code around for future patches
virtio: console: Use a control message to add ports
virtio: console: Don't always create a port 0 if using multiport
virtio: console: Rename wait_is_over() to will_read_block()
virtio: console: Add support for nonblocking write()s
virtio: console: Resize console port 0 on config intr only if multiport is off
virtio: console: Store each console's size in the console structure
virtio: console: Accept console size along with resize control message
Julia Lawall (1):
drivers/char: Eliminate use after free
Michael S. Tsirkin (9):
virtio: add virtqueue_ vq_ops wrappers
virtio_balloon: use virtqueue_xxx wrappers
virtio_console: use virtqueue_xxx wrappers
virtio_blk: use virtqueue_xxx wrappers
virtio_net: use virtqueue_xxx wrappers
virtio_ring: remove a level of indirection
virtio-rng: use virtqueue_xxx wrappers
trans_virtio: use virtqueue_xxx wrappers
virtio: add_buf_gfp
Rusty Russell (1):
virtio_blk: remove multichar constant.
john cooper (2):
Add virtio disk identification support
Add virtio disk identification ioctl
drivers/block/virtio_blk.c | 46 +++-
drivers/char/hw_random/virtio-rng.c | 6 +-
drivers/char/virtio_console.c | 700 +++++++++++++++++++----------------
drivers/net/virtio_net.c | 46 ++--
drivers/virtio/virtio_balloon.c | 17 +-
drivers/virtio/virtio_ring.c | 44 +--
include/linux/virtio.h | 55 ++--
include/linux/virtio_blk.h | 5 +
include/linux/virtio_console.h | 25 ++
net/9p/trans_virtio.c | 6 +-
10 files changed, 541 insertions(+), 409 deletions(-)
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PULL] virtio
[not found] <87wrbkvh3v.fsf@rustcorp.com.au>
@ 2011-11-01 11:45 ` Michael S. Tsirkin
2011-11-01 12:33 ` Sasha Levin
0 siblings, 1 reply; 17+ messages in thread
From: Michael S. Tsirkin @ 2011-11-01 11:45 UTC (permalink / raw)
To: Rusty Russell
Cc: Krishna Kumar, kvm, Pawel Moll, Wang Sheng-Hui,
Alexey Kardashevskiy, lkml - Kernel Mailing List, virtualization,
Christian Borntraeger, Sasha Levin, Amit Shah, Linus Torvalds
On Tue, Nov 01, 2011 at 10:39:08AM +1030, Rusty Russell wrote:
> * [new tag] rusty@rustcorp.com.au-v3.1-7196-gac5be1e -> rusty@rustcorp.com.au-v3.1-7196-gac5be1e
>
> The following changes since commit 839d8810747bbf39e0a5a7f223b67bffa7945f8d:
>
> Merge branch 'i2c-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging (2011-10-30 15:54:59 -0700)
>
> are available in the git repository at:
>
> git://github.com/rustyrussell/linux.git master
>
> Alexey Kardashevskiy (1):
> virtio-pci: Use PCI MMIO instead of PIO when available
I missed this one - wasn't Cc'd neither me, kvm or virtio mailing lists.
It's well known that mmio is much slower than pio on kvm, since
mmio needs to be emulated to get at the address.
So I'm expecting this will cause a performance regression.
IMO we should keep using PIO for VQ and interrupt status access
if PIO is available.
Another consideration is that in an attempt to pack data
densely in the PIO space the layout became messy.
It would be better to have common config space and
per-device config space in separate pages, possibly
with padding between them.
So I'd like a bit more discussion on this patch,
I'm concerned that if this is released in 3.2 as is we'll
have to support this forever. How about a revert for now?
> Amit Shah (8):
> virtio: console: Fix indentation
> virtio: console: Ignore port name update request if name already set
> virtio: console: Use wait_event_freezable instead of _interruptible
> virtio: console: Fix return type for get_inbuf()
> virtio: console: make get_inbuf() return port->inbuf if present
> virtio: console: rename variable
> virtio: console: make discard_port_data() use get_inbuf()
> virtio: console: add port stats for bytes received, sent and discarded
>
> Christian Borntraeger (1):
> virtio: console: wait for first console port for early console output
>
> Krishna Kumar (1):
> virtio: Dont add "config" to list for !per_vq_vector
>
> Michael S. Tsirkin (1):
> virtio-blk: use ida to allocate disk index
>
> Pawel Moll (1):
> virtio: Add platform bus driver for memory mapped virtio device
>
> Sasha Levin (3):
> virtio-console: Use virtio_config_val() for retrieving config
> virtio_config: Add virtio_config_val_len()
> virtio-net: Use virtio_config_val() for retrieving config
>
> Wang Sheng-Hui (2):
> virtio.h: correct comment for struct virtio_driver
> virtio: modify vring_init and vring_size to take account of the layout containing *_event_idx
>
> Documentation/devicetree/bindings/virtio/mmio.txt | 17 +
> drivers/block/virtio_blk.c | 30 +-
> drivers/char/virtio_console.c | 120 ++++--
> drivers/net/virtio_net.c | 14 +-
> drivers/virtio/Kconfig | 11 +
> drivers/virtio/Makefile | 1 +
> drivers/virtio/virtio_mmio.c | 479 +++++++++++++++++++++
> drivers/virtio/virtio_pci.c | 20 +-
> include/linux/virtio.h | 4 +-
> include/linux/virtio_config.h | 3 +
> include/linux/virtio_mmio.h | 111 +++++
> include/linux/virtio_ring.h | 6 +-
> 12 files changed, 749 insertions(+), 67 deletions(-)
> create mode 100644 Documentation/devicetree/bindings/virtio/mmio.txt
> create mode 100644 drivers/virtio/virtio_mmio.c
> create mode 100644 include/linux/virtio_mmio.h
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PULL] virtio
2011-11-01 11:45 ` Michael S. Tsirkin
@ 2011-11-01 12:33 ` Sasha Levin
2011-11-01 12:42 ` Michael S. Tsirkin
0 siblings, 1 reply; 17+ messages in thread
From: Sasha Levin @ 2011-11-01 12:33 UTC (permalink / raw)
To: Michael S. Tsirkin
Cc: Krishna Kumar, kvm, Pawel Moll, Wang Sheng-Hui,
Alexey Kardashevskiy, lkml - Kernel Mailing List, virtualization,
Christian Borntraeger, Amit Shah, Linus Torvalds
On Tue, 2011-11-01 at 13:45 +0200, Michael S. Tsirkin wrote:
> On Tue, Nov 01, 2011 at 10:39:08AM +1030, Rusty Russell wrote:
> > * [new tag] rusty@rustcorp.com.au-v3.1-7196-gac5be1e -> rusty@rustcorp.com.au-v3.1-7196-gac5be1e
> >
> > The following changes since commit 839d8810747bbf39e0a5a7f223b67bffa7945f8d:
> >
> > Merge branch 'i2c-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging (2011-10-30 15:54:59 -0700)
> >
> > are available in the git repository at:
> >
> > git://github.com/rustyrussell/linux.git master
> >
> > Alexey Kardashevskiy (1):
> > virtio-pci: Use PCI MMIO instead of PIO when available
>
> I missed this one - wasn't Cc'd neither me, kvm or virtio mailing lists.
>
> It's well known that mmio is much slower than pio on kvm, since
> mmio needs to be emulated to get at the address.
> So I'm expecting this will cause a performance regression.
> IMO we should keep using PIO for VQ and interrupt status access
> if PIO is available.
>
> Another consideration is that in an attempt to pack data
> densely in the PIO space the layout became messy.
> It would be better to have common config space and
> per-device config space in separate pages, possibly
> with padding between them.
>
> So I'd like a bit more discussion on this patch,
> I'm concerned that if this is released in 3.2 as is we'll
> have to support this forever. How about a revert for now?
Another thing, the patch tries to map BAR 2 and use it as the
configuration space.
It's both not documented properly anywhere, and is not fully backwards
compatible - we currently use BAR 2 as part of our MSIX handling in the
kvm tool and I'm sure we're not the only ones to assume virtio-pci only
uses BAR 0.
A proper solution would be for example a configuration in the PIO config
space which points to the MMIO BAR to use instead.
Unless Michael pointed this patch out, it would have broken (at least)
the kvm tool in a non obvious way which would require a rather long
session of 'git bisect' to figure out whats wrong.
--
Sasha.
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PULL] virtio
2011-11-01 12:33 ` Sasha Levin
@ 2011-11-01 12:42 ` Michael S. Tsirkin
2011-11-01 12:45 ` Sasha Levin
` (2 more replies)
0 siblings, 3 replies; 17+ messages in thread
From: Michael S. Tsirkin @ 2011-11-01 12:42 UTC (permalink / raw)
To: Sasha Levin
Cc: Krishna Kumar, kvm, Pawel Moll, Wang Sheng-Hui,
Alexey Kardashevskiy, lkml - Kernel Mailing List, virtualization,
Christian Borntraeger, Amit Shah, Linus Torvalds
On Tue, Nov 01, 2011 at 02:33:33PM +0200, Sasha Levin wrote:
> On Tue, 2011-11-01 at 13:45 +0200, Michael S. Tsirkin wrote:
> > On Tue, Nov 01, 2011 at 10:39:08AM +1030, Rusty Russell wrote:
> > > * [new tag] rusty@rustcorp.com.au-v3.1-7196-gac5be1e -> rusty@rustcorp.com.au-v3.1-7196-gac5be1e
> > >
> > > The following changes since commit 839d8810747bbf39e0a5a7f223b67bffa7945f8d:
> > >
> > > Merge branch 'i2c-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging (2011-10-30 15:54:59 -0700)
> > >
> > > are available in the git repository at:
> > >
> > > git://github.com/rustyrussell/linux.git master
> > >
> > > Alexey Kardashevskiy (1):
> > > virtio-pci: Use PCI MMIO instead of PIO when available
> >
> > I missed this one - wasn't Cc'd neither me, kvm or virtio mailing lists.
> >
> > It's well known that mmio is much slower than pio on kvm, since
> > mmio needs to be emulated to get at the address.
> > So I'm expecting this will cause a performance regression.
> > IMO we should keep using PIO for VQ and interrupt status access
> > if PIO is available.
> >
> > Another consideration is that in an attempt to pack data
> > densely in the PIO space the layout became messy.
> > It would be better to have common config space and
> > per-device config space in separate pages, possibly
> > with padding between them.
> >
> > So I'd like a bit more discussion on this patch,
> > I'm concerned that if this is released in 3.2 as is we'll
> > have to support this forever. How about a revert for now?
>
> Another thing, the patch tries to map BAR 2 and use it as the
> configuration space.
>
> It's both not documented properly anywhere, and is not fully backwards
> compatible - we currently use BAR 2 as part of our MSIX handling in the
> kvm tool and I'm sure we're not the only ones to assume virtio-pci only
> uses BAR 0.
>
> A proper solution would be for example a configuration in the PIO config
> space which points to the MMIO BAR to use instead.
I think it makes sense to put the configuration in PCI
configuration space, using vendor-specific capability.
This way we can reuse existing functionality for scanning
capability lists.
> Unless Michael pointed this patch out, it would have broken (at least)
> the kvm tool in a non obvious way which would require a rather long
> session of 'git bisect' to figure out whats wrong.
>
> --
>
> Sasha.
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PULL] virtio
2011-11-01 12:42 ` Michael S. Tsirkin
@ 2011-11-01 12:45 ` Sasha Levin
2011-11-02 1:09 ` Rusty Russell
[not found] ` <8739e7uy87.fsf@rustcorp.com.au>
2 siblings, 0 replies; 17+ messages in thread
From: Sasha Levin @ 2011-11-01 12:45 UTC (permalink / raw)
To: Michael S. Tsirkin
Cc: Krishna Kumar, kvm, Pawel Moll, Wang Sheng-Hui,
Alexey Kardashevskiy, lkml - Kernel Mailing List, virtualization,
Christian Borntraeger, Amit Shah, Linus Torvalds
On Tue, 2011-11-01 at 14:42 +0200, Michael S. Tsirkin wrote:
> On Tue, Nov 01, 2011 at 02:33:33PM +0200, Sasha Levin wrote:
> > On Tue, 2011-11-01 at 13:45 +0200, Michael S. Tsirkin wrote:
> > > On Tue, Nov 01, 2011 at 10:39:08AM +1030, Rusty Russell wrote:
> > > > * [new tag] rusty@rustcorp.com.au-v3.1-7196-gac5be1e -> rusty@rustcorp.com.au-v3.1-7196-gac5be1e
> > > >
> > > > The following changes since commit 839d8810747bbf39e0a5a7f223b67bffa7945f8d:
> > > >
> > > > Merge branch 'i2c-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging (2011-10-30 15:54:59 -0700)
> > > >
> > > > are available in the git repository at:
> > > >
> > > > git://github.com/rustyrussell/linux.git master
> > > >
> > > > Alexey Kardashevskiy (1):
> > > > virtio-pci: Use PCI MMIO instead of PIO when available
> > >
> > > I missed this one - wasn't Cc'd neither me, kvm or virtio mailing lists.
> > >
> > > It's well known that mmio is much slower than pio on kvm, since
> > > mmio needs to be emulated to get at the address.
> > > So I'm expecting this will cause a performance regression.
> > > IMO we should keep using PIO for VQ and interrupt status access
> > > if PIO is available.
> > >
> > > Another consideration is that in an attempt to pack data
> > > densely in the PIO space the layout became messy.
> > > It would be better to have common config space and
> > > per-device config space in separate pages, possibly
> > > with padding between them.
> > >
> > > So I'd like a bit more discussion on this patch,
> > > I'm concerned that if this is released in 3.2 as is we'll
> > > have to support this forever. How about a revert for now?
> >
> > Another thing, the patch tries to map BAR 2 and use it as the
> > configuration space.
> >
> > It's both not documented properly anywhere, and is not fully backwards
> > compatible - we currently use BAR 2 as part of our MSIX handling in the
> > kvm tool and I'm sure we're not the only ones to assume virtio-pci only
> > uses BAR 0.
> >
> > A proper solution would be for example a configuration in the PIO config
> > space which points to the MMIO BAR to use instead.
>
> I think it makes sense to put the configuration in PCI
> configuration space, using vendor-specific capability.
> This way we can reuse existing functionality for scanning
> capability lists.
Yup, I agree. It would also allow dropping the PIO config BAR altogether
after some period of backwards compatibility.
It was mostly to point out that the patch isn't really backwards
compatible :)
--
Sasha.
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PULL] virtio
2011-11-01 12:42 ` Michael S. Tsirkin
2011-11-01 12:45 ` Sasha Levin
@ 2011-11-02 1:09 ` Rusty Russell
[not found] ` <8739e7uy87.fsf@rustcorp.com.au>
2 siblings, 0 replies; 17+ messages in thread
From: Rusty Russell @ 2011-11-02 1:09 UTC (permalink / raw)
To: Michael S. Tsirkin, Sasha Levin
Cc: Krishna Kumar, kvm, Pawel Moll, Wang Sheng-Hui,
Alexey Kardashevskiy, lkml - Kernel Mailing List, virtualization,
Christian Borntraeger, Amit Shah, Linus Torvalds
On Tue, 1 Nov 2011 14:42:23 +0200, "Michael S. Tsirkin" <mst@redhat.com> wrote:
> On Tue, Nov 01, 2011 at 02:33:33PM +0200, Sasha Levin wrote:
> > A proper solution would be for example a configuration in the PIO config
> > space which points to the MMIO BAR to use instead.
>
> I think it makes sense to put the configuration in PCI
> configuration space, using vendor-specific capability.
> This way we can reuse existing functionality for scanning
> capability lists.
Patch welcome; first one to implement it becomes virtio PCI maintainer!
I'll keep maintaining the spec, since it covers much more than the PCI
mechanics, but everything I know about PCI I learn from these
discussions.
Meanwhile, I've dropped this patch; mea culpa.
> > Unless Michael pointed this patch out, it would have broken (at least)
> > the kvm tool in a non obvious way which would require a rather long
> > session of 'git bisect' to figure out whats wrong.
I assumed not, until QEMU provided the second BAR it would simply fall
back. Or am I completely misunderstanding?
Thanks,
Rusty.
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PULL] virtio
[not found] ` <8739e7uy87.fsf@rustcorp.com.au>
@ 2011-11-02 4:52 ` Sasha Levin
2011-11-02 22:07 ` Rusty Russell
0 siblings, 1 reply; 17+ messages in thread
From: Sasha Levin @ 2011-11-02 4:52 UTC (permalink / raw)
To: Rusty Russell
Cc: Krishna Kumar, kvm, Pawel Moll, Michael S. Tsirkin,
Alexey Kardashevskiy, Wang Sheng-Hui, lkml - Kernel Mailing List,
virtualization, Christian Borntraeger, Amit Shah, Linus Torvalds
On Wed, 2011-11-02 at 11:39 +1030, Rusty Russell wrote:
> On Tue, 1 Nov 2011 14:42:23 +0200, "Michael S. Tsirkin" <mst@redhat.com> wrote:
> > On Tue, Nov 01, 2011 at 02:33:33PM +0200, Sasha Levin wrote:
> > > Unless Michael pointed this patch out, it would have broken (at least)
> > > the kvm tool in a non obvious way which would require a rather long
> > > session of 'git bisect' to figure out whats wrong.
>
> I assumed not, until QEMU provided the second BAR it would simply fall
> back. Or am I completely misunderstanding?
QEMU uses two bars within each virtio-pci device. First one (BAR 0) is
the PIO config BAR, and the second one (BAR 1) is the MSI-X BAR used for
the MSI-X table and the PBA.
Since the PCI spec allows you to have the MSI-X table and the PBA in
completely different regions pointed by two different BARs, we did so in
kvm tools and have BAR 1 pointing to the MSI-X table, and BAR 2 pointing
to the PBA ( - we *already* provided the second BAR and used it for
something else).
This means that with this patch, we'd load BAR 2 and use it as the
config space, instead of the PBA table which it really represents.
--
Sasha.
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PULL] virtio
2011-11-02 4:52 ` Sasha Levin
@ 2011-11-02 22:07 ` Rusty Russell
0 siblings, 0 replies; 17+ messages in thread
From: Rusty Russell @ 2011-11-02 22:07 UTC (permalink / raw)
To: Sasha Levin
Cc: Krishna Kumar, kvm, Pawel Moll, Michael S. Tsirkin,
Alexey Kardashevskiy, Wang Sheng-Hui, lkml - Kernel Mailing List,
virtualization, Christian Borntraeger, Amit Shah, Linus Torvalds
On Wed, 02 Nov 2011 06:52:44 +0200, Sasha Levin <levinsasha928@gmail.com> wrote:
> Since the PCI spec allows you to have the MSI-X table and the PBA in
> completely different regions pointed by two different BARs, we did so in
> kvm tools and have BAR 1 pointing to the MSI-X table, and BAR 2 pointing
> to the PBA ( - we *already* provided the second BAR and used it for
> something else).
Got it! Thanks for the explanation.
Cheers,
Rusty.
^ permalink raw reply [flat|nested] 17+ messages in thread
* [PULL] virtio
@ 2012-07-30 4:03 Rusty Russell
0 siblings, 0 replies; 17+ messages in thread
From: Rusty Russell @ 2012-07-30 4:03 UTC (permalink / raw)
To: Linus Torvalds
Cc: kvm, Michael S. Tsirkin, virtualization, Amit Shah, Paolo Bonzini
The following changes since commit f7da9cdf45cbbad5029d4858dcbc0134e06084ed:
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net (2012-07-28 06:00:39 -0700)
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus.git tags/virtio-for-linus
for you to fetch changes up to 6a743897144500fb4c4566ced3a498d5180fbb5b:
virtio-blk: return VIRTIO_BLK_F_FLUSH to header. (2012-07-30 13:30:52 +0930)
----------------------------------------------------------------
Virtio patches, mainly hotplugging fixes.
----------------------------------------------------------------
Amit Shah (5):
virtio ids: fix comment for virtio-rng
virtio: rng: allow tasks to be killed that are waiting for rng input
virtio: rng: don't wait on host when module is going away
virtio: rng: split out common code in probe / remove for s3/s4 ops
virtio: rng: s3/s4 support
Asias He (3):
virtio-blk: Call del_gendisk() before disable guest kick
virtio-blk: Reset device after blk_cleanup_queue()
virtio-blk: Use block layer provided spinlock
Paolo Bonzini (1):
virtio-blk: allow toggling host cache between writeback and writethrough
Rusty Russell (1):
virtio-blk: return VIRTIO_BLK_F_FLUSH to header.
drivers/block/virtio_blk.c | 115 ++++++++++++++++++++++++++++-------
drivers/char/hw_random/virtio-rng.c | 37 ++++++++++-
include/linux/virtio_blk.h | 10 ++-
include/linux/virtio_ids.h | 2 +-
4 files changed, 137 insertions(+), 27 deletions(-)
^ permalink raw reply [flat|nested] 17+ messages in thread
* [PULL] virtio
@ 2012-10-05 1:39 Rusty Russell
0 siblings, 0 replies; 17+ messages in thread
From: Rusty Russell @ 2012-10-05 1:39 UTC (permalink / raw)
To: Linus Torvalds
Cc: kvm, Michael S. Tsirkin, Kent Overstreet, Peter Senna Tschudin,
virtualization, Masami Hiramatsu, Christoph Hellwig,
Alexey Khoroshilov, Brian Foley, Shaohua Li, Dan Carpenter,
Pawel Moll, Steven Rostedt, Amit Shah, Jens Axboe, LKML,
Tejun Heo, Paolo Bonzini
The following changes since commit 925a6f0bf8bd122d5d2429af7f0ca0fecf4ae71f:
Merge tag 'hwspinlock-3.6-fix' of git://git.kernel.org/pub/scm/linux/kernel/git/ohad/hwspinlock (2012-09-18 11:58:54 -0700)
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux.git virtio-next
for you to fetch changes up to ca16f580a5db7e60bfafe59a50bb133bd3347491:
lguest: fix occasional crash in example launcher. (2012-10-04 12:12:59 +0930)
----------------------------------------------------------------
New workflow: same git trees pulled by linux-next get sent straight to Linus.
Git is awkward at shuffling patches compared with quilt or mq, but that doesn't
happen often once things get into my -next branch.
----------------------------------------------------------------
Alexey Khoroshilov (1):
virtio: console: fix error handling in init() function
Asias He (3):
virtio-blk: Add bio-based IO path for virtio-blk
virtio-blk: Add REQ_FLUSH and REQ_FUA support to bio path
virtio-blk: Disable callback in virtblk_done()
Brian Foley (2):
virtio_mmio: fix off by one error allocating queue
virtio_mmio: Don't attempt to create empty virtqueues
Dan Carpenter (1):
virtio-blk: fix NULL checking in virtblk_alloc_req()
Jason Wang (2):
virtio-ring: move queue_index to vring_virtqueue
virtio: introduce an API to set affinity for a virtqueue
Masami Hiramatsu (5):
virtio/console: Add splice_write support
virtio/console: Add a failback for unstealable pipe buffer
virtio/console: Wait until the port is ready on splice
ftrace: Allow stealing pages from pipe buffer
virtio/console: Allocate scatterlist according to the current pipe size
Michael S. Tsirkin (3):
virtio-balloon: dependency fix
virtio: support reserved vqs
virtio: don't crash when device is buggy
Peter Senna Tschudin (1):
drivers/virtio/virtio_pci.c: fix error return code
Rusty Russell (4):
virtio_balloon: not EXPERIMENTAL any more.
virtio: add help to CONFIG_VIRTIO option.
virtio: remove CONFIG_VIRTIO_RING
lguest: fix occasional crash in example launcher.
Yoshihiro YUNOMAE (2):
tools: Add guest trace agent as a user tool
tools: Fix pthread flag for Makefile of trace-agent used by virtio-trace
arch/s390/Kconfig | 1 -
arch/x86/lguest/Kconfig | 1 -
drivers/block/virtio_blk.c | 306 +++++++++++++++++++++++----
drivers/char/virtio_console.c | 210 ++++++++++++++++--
drivers/lguest/lguest_device.c | 5 +-
drivers/remoteproc/remoteproc_virtio.c | 5 +-
drivers/rpmsg/Kconfig | 1 -
drivers/s390/kvm/kvm_virtio.c | 5 +-
drivers/virtio/Kconfig | 17 +-
drivers/virtio/Makefile | 3 +-
drivers/virtio/virtio.c | 2 +-
drivers/virtio/virtio_mmio.c | 29 ++-
drivers/virtio/virtio_pci.c | 68 +++++-
drivers/virtio/virtio_ring.c | 14 +-
include/linux/virtio.h | 2 +
include/linux/virtio_config.h | 23 ++
include/linux/virtio_ring.h | 3 +-
kernel/trace/trace.c | 8 +-
tools/lguest/lguest.c | 1 +
tools/virtio/virtio-trace/Makefile | 13 ++
tools/virtio/virtio-trace/README | 118 +++++++++++
tools/virtio/virtio-trace/trace-agent-ctl.c | 137 ++++++++++++
tools/virtio/virtio-trace/trace-agent-rw.c | 192 +++++++++++++++++
tools/virtio/virtio-trace/trace-agent.c | 270 +++++++++++++++++++++++
tools/virtio/virtio-trace/trace-agent.h | 75 +++++++
25 files changed, 1402 insertions(+), 107 deletions(-)
create mode 100644 tools/virtio/virtio-trace/Makefile
create mode 100644 tools/virtio/virtio-trace/README
create mode 100644 tools/virtio/virtio-trace/trace-agent-ctl.c
create mode 100644 tools/virtio/virtio-trace/trace-agent-rw.c
create mode 100644 tools/virtio/virtio-trace/trace-agent.c
create mode 100644 tools/virtio/virtio-trace/trace-agent.h
^ permalink raw reply [flat|nested] 17+ messages in thread
end of thread, other threads:[~2012-10-05 1:39 UTC | newest]
Thread overview: 17+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-03-07 10:42 [PULL] virtio Michael S. Tsirkin
2010-03-07 10:57 ` Alexander Graf
2010-03-07 11:04 ` Michael S. Tsirkin
2010-03-07 11:11 ` Alexander Graf
-- strict thread matches above, loose matches on Subject: below --
2012-10-05 1:39 Rusty Russell
2012-07-30 4:03 Rusty Russell
[not found] <87wrbkvh3v.fsf@rustcorp.com.au>
2011-11-01 11:45 ` Michael S. Tsirkin
2011-11-01 12:33 ` Sasha Levin
2011-11-01 12:42 ` Michael S. Tsirkin
2011-11-01 12:45 ` Sasha Levin
2011-11-02 1:09 ` Rusty Russell
[not found] ` <8739e7uy87.fsf@rustcorp.com.au>
2011-11-02 4:52 ` Sasha Levin
2011-11-02 22:07 ` Rusty Russell
2010-05-19 12:53 Rusty Russell
2010-03-22 14:34 Michael S. Tsirkin
2010-02-28 18:43 Michael S. Tsirkin
2009-06-12 12:48 Rusty Russell
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).