<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:syn="http://purl.org/rss/1.0/modules/syndication/" xmlns:admin="http://webns.net/mvcb/">
  <channel rdf:about="http://blog.gmane.org/gmane.linux.kernel.virtualization">
    <title>gmane.linux.kernel.virtualization</title>
    <link>http://blog.gmane.org/gmane.linux.kernel.virtualization</link>
    <description/>
    <syn:updatePeriod>hourly</syn:updatePeriod>
    <syn:updateFrequency>1</syn:updateFrequency>
    <syn:updateBase>1901-01-01T00:00+00:00</syn:updateBase>
    <items>
      <rdf:Seq>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.linux.kernel.virtualization/15498"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.linux.kernel.virtualization/15489"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.linux.kernel.virtualization/15488"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.linux.kernel.virtualization/15478"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.linux.kernel.virtualization/15476"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.linux.kernel.virtualization/15475"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.linux.kernel.virtualization/15474"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.linux.kernel.virtualization/15458"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.linux.kernel.virtualization/15453"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.linux.kernel.virtualization/15434"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.linux.kernel.virtualization/15398"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.linux.kernel.virtualization/15392"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.linux.kernel.virtualization/15390"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.linux.kernel.virtualization/15389"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.linux.kernel.virtualization/15378"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.linux.kernel.virtualization/15376"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.linux.kernel.virtualization/15373"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.linux.kernel.virtualization/15372"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.linux.kernel.virtualization/15356"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.linux.kernel.virtualization/15341"/>
      </rdf:Seq>
    </items>
    <image rdf:resource="http://gmane.org/img/gmane-25t.png"/>
    <textinput rdf:resource=""/>
  </channel>
  <image rdf:about="http://gmane.org/img/gmane-25t.png">
    <title>Gmane</title>
    <url>http://gmane.org/img/gmane-25t.png</url>
    <link>http://gmane.org</link>
  </image>
  <item rdf:about="http://comments.gmane.org/gmane.linux.kernel.virtualization/15498">
    <title>[PATCH 0/3] Fix hot-unplug race in virtio-blk</title>
    <link>http://comments.gmane.org/gmane.linux.kernel.virtualization/15498</link>
    <description>&lt;pre&gt;This patch set fixes the race when hot-unplug stressed disk.

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

 drivers/block/virtio_blk.c |   25 ++++++-------------------
 1 file changed, 6 insertions(+), 19 deletions(-)

&lt;/pre&gt;</description>
    <dc:creator>Asias He</dc:creator>
    <dc:date>2012-05-25T02:34:46</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.linux.kernel.virtualization/15489">
    <title>[PATCH] xen: do not disable netfront in dom0</title>
    <link>http://comments.gmane.org/gmane.linux.kernel.virtualization/15489</link>
    <description>&lt;pre&gt;Netfront driver can be also useful in dom0, eg when all NICs are assigned to
some domU (aka driver domain). Then using netback in domU and netfront in dom0
is the only way to get network access in dom0.

Signed-off-by: Marek Marczykowski &amp;lt;marmarek&amp;lt; at &amp;gt;invisiblethingslab.com&amp;gt;
---
 drivers/net/xen-netfront.c |    6 ------
 1 files changed, 0 insertions(+), 6 deletions(-)

diff --git a/drivers/net/xen-netfront.c b/drivers/net/xen-netfront.c
index 698b905..e31ebff 100644
--- a/drivers/net/xen-netfront.c
+++ b/drivers/net/xen-netfront.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1953,9 +1953,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int __init netif_init(void)
 if (!xen_domain())
 return -ENODEV;
 
-if (xen_initial_domain())
-return 0;
-
 printk(KERN_INFO "Initialising Xen virtual ethernet driver.\n");
 
 return xenbus_register_frontend(&amp;amp;netfront_driver);
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1965,9 +1962,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; module_init(netif_init);
 
 static void __exit netif_exit(void)
 {
-if (xen_initial_domain())
-return;
-
 xenbus_unregister_driver(&amp;amp;netfront_driver);
 }
 module_exit(netif_exit);
&lt;/pre&gt;</description>
    <dc:creator>Marek Marczykowski</dc:creator>
    <dc:date>2012-05-20T11:45:10</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.linux.kernel.virtualization/15488">
    <title>[PATCH] virtio: fix typo in comment</title>
    <link>http://comments.gmane.org/gmane.linux.kernel.virtualization/15488</link>
    <description>&lt;pre&gt;From: Chen Baozi &amp;lt;chenbaozi&amp;lt; at &amp;gt;gmail.com&amp;gt;

- Delete "&amp;lt; at &amp;gt;request_vqs" and "&amp;lt; at &amp;gt;free_vqs" comments, since
  they are no longer in struct virtio_config_ops.
- According to the macro below, "&amp;lt; at &amp;gt;val" should be "&amp;lt; at &amp;gt;v".

Signed-off-by: Chen Baozi &amp;lt;chenbaozi&amp;lt; at &amp;gt;gmail.com&amp;gt;
---
 include/linux/virtio_config.h |   11 +----------
 1 files changed, 1 insertions(+), 10 deletions(-)

diff --git a/include/linux/virtio_config.h b/include/linux/virtio_config.h
index 7323a33..fc457f4 100644
--- a/include/linux/virtio_config.h
+++ b/include/linux/virtio_config.h
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -74,15 +74,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
  * &amp;lt; at &amp;gt;set_status: write the status byte
  *vdev: the virtio_device
  *status: the new status byte
- * &amp;lt; at &amp;gt;request_vqs: request the specified number of virtqueues
- *vdev: the virtio_device
- *max_vqs: the max number of virtqueues we want
- *      If supplied, must call before any virtqueues are instantiated.
- *      To modify the max number of virtqueues after request_vqs has been
- *      called, call free_vqs and then request_vqs with a new value.
- * &amp;lt; at &amp;gt;free_vqs: c&lt;/pre&gt;</description>
    <dc:creator>Chen Baozi</dc:creator>
    <dc:date>2012-05-20T02:44:34</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.linux.kernel.virtualization/15478">
    <title>[RFC PATCH 1/5] block: Introduce q-&gt;abort_queue_fn()</title>
    <link>http://comments.gmane.org/gmane.linux.kernel.virtualization/15478</link>
    <description>&lt;pre&gt;When user hot-unplug a disk which is busy serving I/O, __blk_run_queue
might be unable to drain all the requests. As a result, the
blk_drain_queue() would loop forever and blk_cleanup_queue would not
return. So hot-unplug will fail.

This patch adds a callback in blk_drain_queue() for low lever driver to
abort requests.

Currently, this is useful for virtio-blk to do cleanup in hot-unplug.

Cc: Jens Axboe &amp;lt;axboe&amp;lt; at &amp;gt;kernel.dk&amp;gt;
Cc: Tejun Heo &amp;lt;tj&amp;lt; at &amp;gt;kernel.org&amp;gt;
Cc: linux-fsdevel&amp;lt; at &amp;gt;vger.kernel.org
Cc: Rusty Russell &amp;lt;rusty&amp;lt; at &amp;gt;rustcorp.com.au&amp;gt;
Cc: "Michael S. Tsirkin" &amp;lt;mst&amp;lt; at &amp;gt;redhat.com&amp;gt;
Cc: virtualization&amp;lt; at &amp;gt;lists.linux-foundation.org
Cc: kvm&amp;lt; at &amp;gt;vger.kernel.org
Signed-off-by: Asias He &amp;lt;asias&amp;lt; at &amp;gt;redhat.com&amp;gt;
---
 block/blk-core.c       |    3 +++
 block/blk-settings.c   |   12 ++++++++++++
 include/linux/blkdev.h |    3 +++
 3 files changed, 18 insertions(+)

diff --git a/block/blk-core.c b/block/blk-core.c
index 1f61b74..ca42fd7 100644
--- a/block/blk-core.c
+++ b/block/blk-core.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -369,6 +369,9 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; void blk_drain_queue(struct request_&lt;/pre&gt;</description>
    <dc:creator>Asias He</dc:creator>
    <dc:date>2012-05-21T09:08:29</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.linux.kernel.virtualization/15476">
    <title>Call for Participation: ACM HPDC 2012 -- Early registration deadlineMay 25th</title>
    <link>http://comments.gmane.org/gmane.linux.kernel.virtualization/15476</link>
    <description>&lt;pre&gt;
    Call for Participation

http://www.hpdc.org/2012/

The organizing committee is delighted to invite you to *HPDC'12*, the 
/21st International ACM Symposium on High-Performance Parallel and 
Distributed Computing/, to be held in *Delft, the Netherlands*, which is 
a historic, picturesque city that is less than one hour away from 
Amsterdam-Schiphol airport.

HPDC &amp;lt;http://www.hpdc.org&amp;gt; is the premier annual conference on the 
design, the implementation, the evaluation, and the use of parallel and 
distributed systems for high-end computing. HPDC is sponsored by 
SIGARCH, the Special Interest Group on Computer Architecture 
&amp;lt;http://www.sigarch.org&amp;gt; of the Association for Computing Machinery 
&amp;lt;http://www.acm.org&amp;gt;.

*HPDC'12* will be held at Delft University of Technology 
&amp;lt;http://www.tudelft.nl&amp;gt;, with the main conference taking place on *June 
20-22* (Wednesday to Friday 1 PM), and with affiliated workshops on 
*June 18-19* (Monday and Tuesday).

Early registration closes on May 25th, so if you plan on atte&lt;/pre&gt;</description>
    <dc:creator>Ioan Raicu</dc:creator>
    <dc:date>2012-05-19T13:47:00</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.linux.kernel.virtualization/15475">
    <title>MBDS paper submission due in one month (The International Workshop onManagement of Big Data Systems)</title>
    <link>http://comments.gmane.org/gmane.linux.kernel.virtualization/15475</link>
    <description>&lt;pre&gt;CALL FOR PAPERS

International Workshop on Management of Big Data Systems (MBDS 2012)
http://www.cercs.gatech.edu/mbds12

In conjunction with ICAC 2012
http://icac2012.cs.fiu.edu

September 21, 2012, San Jose, CA

-----------------------------------------------------------------

IMPORTANT DATES

Paper submission due:  June 15, 2012
Author notification:   July 30, 2012
Workshop:              Sep 21, 2012

-----------------------------------------------------------------

OVERVIEW

Data is growing at an exponential rate and several systems have emerged 
to store and analyze such large amounts of data. These systems, termed 
Big data systems are fast evolving Examples include the NoSQL storage 
systems, Hadoop Map-Reduce, data analytics platforms, search and indexing 
platforms, and messaging infrastructures. These systems address needs for 
structured and unstructured data across a wide spectrum of domains such 
as web, social networks, enterprise, cloud, mobile, sensor networks, 
multimedia/streaming, cy&lt;/pre&gt;</description>
    <dc:creator>Ming Zhao</dc:creator>
    <dc:date>2012-05-19T00:44:40</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.linux.kernel.virtualization/15474">
    <title>[PULL] virtio: last minute fixes for 3.4</title>
    <link>http://comments.gmane.org/gmane.linux.kernel.virtualization/15474</link>
    <description>&lt;pre&gt;The following changes since commit 0e93b4b304ae052ba1bc73f6d34a68556fe93429:

  Merge git://git.kernel.org/pub/scm/virt/kvm/kvm (2012-05-16 14:30:51 -0700)

are available in the git repository at:


  git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost.git for_linus

for you to fetch changes up to ec13ee80145ccb95b00e6e610044bbd94a170051:

  virtio_net: invoke softirqs after __napi_schedule (2012-05-17 12:16:38 +0300)

----------------------------------------------------------------
virtio: last minute fixes for 3.4

Here are a couple of last minute virtio fixes for 3.4.
Hope it's not too late yes - I might have tried too hard
to make sure the fix is well tested.

Fixes are by Amit and myself. One fixes module removal
and one suspend of a VM, the last one the handling of out
of memory condition.
They are thus very low risk as most people never hit these paths, but do fix
very annoying problems for people that do use the feature.

Signed-off-by: Michael S. Tsirkin &amp;lt;mst&amp;lt; at &amp;gt;redhat.com&amp;gt;

-----------------------&lt;/pre&gt;</description>
    <dc:creator>Michael S. Tsirkin</dc:creator>
    <dc:date>2012-05-17T09:35:39</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.linux.kernel.virtualization/15458">
    <title>[vmw_vmci RFC 00/11] VMCI for Linux</title>
    <link>http://comments.gmane.org/gmane.linux.kernel.virtualization/15458</link>
    <description>&lt;pre&gt;In an effort to improve the out-of-the-box experience with Linux
kernels for VMware users, VMware is working on readying the Virtual
Machine Communication Interface (vmw_vmci) and VMCI Sockets (vmw_vsock) kernel
modules for inclusion in the Linux kernel. The purpose of this post
is to acquire feedback on the vmw_vmci kernel module. The vmw_vsock
kernel module will be presented in a later post.

VMCI allows virtual machines to communicate with host kernel modules
and the VMware hypervisors. User level applications both in a virtual
machine and on the host can use vmw_vmci through VMCI Sockets, a socket
address family designed to be compatible with UDP and TCP at the
interface level. Today, VMCI and VMCI Sockets are used by the VMware
shared folders (HGFS) and various VMware Tools components inside the
guest for zero-config, network-less access to VMware host services. In
addition to this, VMware's users are using VMCI Sockets for various
applications, where network access of the virtual machine is
restricted &lt;/pre&gt;</description>
    <dc:creator>Andrew Stiegmann (stieg</dc:creator>
    <dc:date>2012-05-15T15:06:57</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.linux.kernel.virtualization/15453">
    <title>[PATCH] virtio_net: invoke softirqs after __napi_schedule</title>
    <link>http://comments.gmane.org/gmane.linux.kernel.virtualization/15453</link>
    <description>&lt;pre&gt;__napi_schedule might raise softirq but nothing
causes do_softirq to trigger, so it does not in fact
run. As a result,
the error message "NOHZ: local_softirq_pending 08"
sometimes occurs during boot of a KVM guest when the network service is
started and we are oom:

  ...
  Bringing up loopback interface:  [  OK  ]
  Bringing up interface eth0:
  Determining IP information for eth0...NOHZ: local_softirq_pending 08
   done.
  [  OK  ]
  ...

Further, receive queue processing might get delayed
indefinitely until some interrupt triggers:
virtio_net expected napi to be run immediately.

One way to cause do_softirq to be executed is by
invoking local_bh_enable(). As __napi_schedule is
normally called from bh or irq context, this
seems to make sense: disable bh before __napi_schedule
and enable afterwards.

Reported-by: Ulrich Obergfell &amp;lt;uobergfe&amp;lt; at &amp;gt;redhat.com&amp;gt;
Tested-by: Ulrich Obergfell &amp;lt;uobergfe&amp;lt; at &amp;gt;redhat.com&amp;gt;
Signed-off-by: Michael S. Tsirkin &amp;lt;mst&amp;lt; at &amp;gt;redhat.com&amp;gt;
---

To test, one can hack try_fill_recv to always report&lt;/pre&gt;</description>
    <dc:creator>Michael S. Tsirkin</dc:creator>
    <dc:date>2012-05-16T07:57:13</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.linux.kernel.virtualization/15434">
    <title>[PATCH] virtio-mmio: Devices parameter parsing</title>
    <link>http://comments.gmane.org/gmane.linux.kernel.virtualization/15434</link>
    <description>&lt;pre&gt;This patch adds an option to instantiate guest virtio-mmio devices
basing on a kernel command line (or module) parameter, for example:

virtio_mmio.devices=0x100&amp;lt; at &amp;gt;0x100b0000:48

Signed-off-by: Pawel Moll &amp;lt;pawel.moll&amp;lt; at &amp;gt;arm.com&amp;gt;
---

Hi Rusty,

As the param changes are in now, could you queue this
long-time-forgotten patch for 3.5?

Cheers!

Pawel

PS. Congratulations once again and see you in HK.

 Documentation/kernel-parameters.txt |   17 ++++
 drivers/virtio/Kconfig              |   11 +++
 drivers/virtio/virtio_mmio.c        |  163 +++++++++++++++++++++++++++++++++++
 3 files changed, 191 insertions(+), 0 deletions(-)

diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt
index c1601e5..8b35051 100644
--- a/Documentation/kernel-parameters.txt
+++ b/Documentation/kernel-parameters.txt
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -110,6 +110,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; parameter is applicable:
 USBUSB support is enabled.
 USBHIDUSB Human Interface Device support is enabled.
 V4LVideo For Linux support is enabled.
+VMMIO   Driver for &lt;/pre&gt;</description>
    <dc:creator>Pawel Moll</dc:creator>
    <dc:date>2012-05-09T17:30:16</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.linux.kernel.virtualization/15398">
    <title>virtio 3.4 patches</title>
    <link>http://comments.gmane.org/gmane.linux.kernel.virtualization/15398</link>
    <description>&lt;pre&gt;Hi Rusty, please also pick two fixes from for_linus tag on my tree
I think they should be sent to Linus for 3.4:

http://git.kernel.org/?p=linux/kernel/git/mst/vhost.git;a=tag;h=refs/tags/for_linus

git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost.git refs/tags/for_linus

&lt;/pre&gt;</description>
    <dc:creator>Michael S. Tsirkin</dc:creator>
    <dc:date>2012-05-07T05:30:21</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.linux.kernel.virtualization/15392">
    <title>Submission Deadline Extension</title>
    <link>http://comments.gmane.org/gmane.linux.kernel.virtualization/15392</link>
    <description>&lt;pre&gt;we apologize if you receive multiple copies of this CFP

===================================================================

CALL FOR PAPERS

7th Workshop on

Virtualization in High-Performance Cloud Computing

VHPC '12

as part of Euro-Par 2012, Rhodes Island, Greece

===================================================================

Date: August 28, 2012

Workshop URL: http://vhpc.org

SUBMISSION DEADLINE:

June 11, 2012 - Full paper submission (extended)


SCOPE:

Virtualization has become a common abstraction layer in modern
data centers, enabling resource owners to manage complex
infrastructure independently of their applications. Conjointly,
virtualization is becoming a driving technology for a manifold of
industry grade IT services. The cloud concept includes the notion
of a separation between resource owners and users, adding  services
such as hosted application frameworks and queueing. Utilizing the
same infrastructure, clouds carry significant potential for use in
high-performance scientific com&lt;/pre&gt;</description>
    <dc:creator>VHPC 12</dc:creator>
    <dc:date>2012-05-06T17:32:30</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.linux.kernel.virtualization/15390">
    <title>[PATCH v3] virtio-blk: Fix hot-unplug race in remove method</title>
    <link>http://comments.gmane.org/gmane.linux.kernel.virtualization/15390</link>
    <description>&lt;pre&gt;If we reset the virtio-blk device before the requests already dispatched
to the virtio-blk driver from the block layer are finised, we will stuck
in blk_cleanup_queue() and the remove will fail.

blk_cleanup_queue() calls blk_drain_queue() to drain all requests queued
before DEAD marking. However it will never success if the device is
already stopped. We'll have q-&amp;gt;in_flight[] &amp;gt; 0, so the drain will not
finish.

How to reproduce the race:
1. hot-plug a virtio-blk device
2. keep reading/writing the device in guest
3. hot-unplug while the device is busy serving I/O

Test:
~1000 rounds of hot-plug/hot-unplug test passed with this patch.

Changes in v3:
- Drop blk_abort_queue and blk_abort_request
- Use __blk_end_request_all to complete request dispatched to driver

Changes in v2:
- Drop req_in_flight
- Use virtqueue_detach_unused_buf to get request dispatched to driver

Signed-off-by: Asias He &amp;lt;asias&amp;lt; at &amp;gt;redhat.com&amp;gt;
---
 drivers/block/virtio_blk.c |   11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/d&lt;/pre&gt;</description>
    <dc:creator>Asias He</dc:creator>
    <dc:date>2012-05-04T12:22:04</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.linux.kernel.virtualization/15389">
    <title>[PATCH v3] virtio-blk: Fix hot-unplug race in remove method</title>
    <link>http://comments.gmane.org/gmane.linux.kernel.virtualization/15389</link>
    <description>&lt;pre&gt;If we reset the virtio-blk device before the requests already dispatched
to the virtio-blk driver from the block layer are finised, we will stuck
in blk_cleanup_queue() and the remove will fail.

blk_cleanup_queue() calls blk_drain_queue() to drain all requests queued
before DEAD marking. However it will never success if the device is
already stopped. We'll have q-&amp;gt;in_flight[] &amp;gt; 0, so the drain will not
finish.

How to reproduce the race:
1. hot-plug a virtio-blk device
2. keep reading/writing the device in guest
3. hot-unplug while the device is busy serving I/O

Test:
~1000 rounds of hot-plug/hot-unplug test passed with this patch.

Changes in v3:
- Drop blk_abort_queue and blk_abort_request
- Use __blk_end_request_all to complete request dispatched to driver

Changes in v2:
- Drop req_in_flight
- Use virtqueue_detach_unused_buf to get request dispatched to driver

Signed-off-by: Asias He &amp;lt;asias&amp;lt; at &amp;gt;redhat.com&amp;gt;
---
 drivers/block/virtio_blk.c |   11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/d&lt;/pre&gt;</description>
    <dc:creator>Asias He</dc:creator>
    <dc:date>2012-05-04T08:39:49</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.linux.kernel.virtualization/15378">
    <title>[PATCH v2] virtio-blk: Fix hot-unplug race in remove method</title>
    <link>http://comments.gmane.org/gmane.linux.kernel.virtualization/15378</link>
    <description>&lt;pre&gt;If we reset the virtio-blk device before the requests already dispatched
to the virtio-blk driver from the block layer are finised, we will stuck
in blk_cleanup_queue() and the remove will fail.

blk_cleanup_queue() calls blk_drain_queue() to drain all requests queued
before DEAD marking. However it will never success if the device is
already stopped. We'll have q-&amp;gt;in_flight[] &amp;gt; 0, so the drain will not
finish.

How to reproduce the race:
1. hot-plug a virtio-blk device
2. keep reading/writing the device in guest
3. hot-unplug while the device is busy serving I/O

Changes in v2:
- Drop req_in_flight
- Use virtqueue_detach_unused_buf to get request dispatched to driver

Signed-off-by: Asias He &amp;lt;asias&amp;lt; at &amp;gt;redhat.com&amp;gt;
---
 drivers/block/virtio_blk.c |   16 +++++++++++++---
 1 file changed, 13 insertions(+), 3 deletions(-)

diff --git a/drivers/block/virtio_blk.c b/drivers/block/virtio_blk.c
index 72fe55d..670c28f 100644
--- a/drivers/block/virtio_blk.c
+++ b/drivers/block/virtio_blk.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -443,7 +443,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int&lt;/pre&gt;</description>
    <dc:creator>Asias He</dc:creator>
    <dc:date>2012-05-03T07:30:47</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.linux.kernel.virtualization/15376">
    <title>using cache for virtio allocations?</title>
    <link>http://comments.gmane.org/gmane.linux.kernel.virtualization/15376</link>
    <description>&lt;pre&gt;Sasha, didn't you have a patch to allocate
things using cache in virtio core?
What happened to it?

Thanks,
MST
&lt;/pre&gt;</description>
    <dc:creator>Michael S. Tsirkin</dc:creator>
    <dc:date>2012-05-03T05:29:43</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.linux.kernel.virtualization/15373">
    <title>[PATCH 2/2] virtio: Use ida to allocate virtio index</title>
    <link>http://comments.gmane.org/gmane.linux.kernel.virtualization/15373</link>
    <description>&lt;pre&gt;Current index allocation in virtio is based on a monotonically
increasing variable "index". This means we'll run out of numbers
after a while. E.g. someone crazy doing this in host side.

while(1) {
hot-plug a virtio device
hot-unplug the virito devcie
}

Signed-off-by: Asias He &amp;lt;asias&amp;lt; at &amp;gt;redhat.com&amp;gt;
---
 drivers/virtio/virtio.c |   11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/drivers/virtio/virtio.c b/drivers/virtio/virtio.c
index 984c501..f355807 100644
--- a/drivers/virtio/virtio.c
+++ b/drivers/virtio/virtio.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -2,9 +2,10 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 #include &amp;lt;linux/spinlock.h&amp;gt;
 #include &amp;lt;linux/virtio_config.h&amp;gt;
 #include &amp;lt;linux/module.h&amp;gt;
+#include &amp;lt;linux/idr.h&amp;gt;
 
 /* Unique numbering for virtio devices. */
-static unsigned int dev_index;
+static DEFINE_IDA(virtio_index_ida);
 
 static ssize_t device_show(struct device *_d,
    struct device_attribute *attr, char *buf)
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -193,7 +194,11 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; int register_virtio_device(struct virtio_device *dev)
 dev-&amp;gt;dev.bus = &amp;amp;virtio_bus;
 
 /* Assign a uniqu&lt;/pre&gt;</description>
    <dc:creator>Asias He</dc:creator>
    <dc:date>2012-05-03T02:20:51</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.linux.kernel.virtualization/15372">
    <title>[PATCH 1/2] virtio-blk: Fix hot-unplug race in remove method</title>
    <link>http://comments.gmane.org/gmane.linux.kernel.virtualization/15372</link>
    <description>&lt;pre&gt;If we reset the virtio-blk device before the requests already dispatched
to the virtio-blk driver from the block layer are finised, we will stuck
in blk_cleanup_queue() and the remove will fail.

blk_cleanup_queue() calls blk_drain_queue() to drain all requests queued
before DEAD marking. However it will never success if the device is
already stopped. We'll have q-&amp;gt;in_flight[] &amp;gt; 0, so the drain will not
finish.

How to reproduce the race:
1. hot-plug a virtio-blk device
2. keep reading/writing the device in guest
3. hot-unplug while the device is busy serving I/O

Signed-off-by: Asias He &amp;lt;asias&amp;lt; at &amp;gt;redhat.com&amp;gt;
---
 drivers/block/virtio_blk.c |   26 ++++++++++++++++++++++----
 1 file changed, 22 insertions(+), 4 deletions(-)

diff --git a/drivers/block/virtio_blk.c b/drivers/block/virtio_blk.c
index 72fe55d..72b818b 100644
--- a/drivers/block/virtio_blk.c
+++ b/drivers/block/virtio_blk.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -46,6 +46,9 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; struct virtio_blk
 /* Ida index - used to track minor number allocations. */
 int index;
 
+/* Number of p&lt;/pre&gt;</description>
    <dc:creator>Asias He</dc:creator>
    <dc:date>2012-05-03T02:19:52</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.linux.kernel.virtualization/15356">
    <title>[PATCH RFC V8 0/17] Paravirtualized ticket spinlocks</title>
    <link>http://comments.gmane.org/gmane.linux.kernel.virtualization/15356</link>
    <description>&lt;pre&gt;
This series replaces the existing paravirtualized spinlock mechanism
with a paravirtualized ticketlock mechanism. The series provides
implementation for both Xen and KVM.(targeted for 3.5 window)

Note: This needs debugfs changes patch that should be in Xen / linux-next
   https://lkml.org/lkml/2012/3/30/687

Changes in V8:
 - Reabsed patches to 3.4-rc4
 - Combined the KVM changes with ticketlock + Xen changes (Ingo)
 - Removed CAP_PV_UNHALT since it is redundant (Avi). But note that we
    need newer qemu which uses KVM_GET_SUPPORTED_CPUID ioctl.
 - Rewrite GET_MP_STATE condition (Avi)
 - Make pv_unhalt = bool (Avi)
 - Move out reset pv_unhalt code to vcpu_run from vcpu_block (Gleb)
 - Documentation changes (Rob Landley)
 - Have a printk to recognize that paravirt spinlock is enabled (Nikunj)
 - Move out kick hypercall out of CONFIG_PARAVIRT_SPINLOCK now
   so that it can be used for other optimizations such as 
   flush_tlb_ipi_others etc. (Nikunj)

Ticket locks have an inherent problem in a virtualized c&lt;/pre&gt;</description>
    <dc:creator>Raghavendra K T</dc:creator>
    <dc:date>2012-05-02T10:06:10</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.linux.kernel.virtualization/15341">
    <title>[PATCHv2] x86info: dump kvm cpuid's</title>
    <link>http://comments.gmane.org/gmane.linux.kernel.virtualization/15341</link>
    <description>&lt;pre&gt;The following makes 'x86info -r' dump hypervisor leaf cpu ids
(for kvm this is signature+features) when running in a vm.

On the guest we see the signature and the features:
eax in: 0x40000000, eax = 00000000 ebx = 4b4d564b ecx = 564b4d56 edx = 0000004d
eax in: 0x40000001, eax = 0100007b ebx = 00000000 ecx = 00000000 edx = 00000000

Hypervisor flag is checked to avoid output changes when not
running on a VM.

Signed-off-by: Michael S. Tsirkin &amp;lt;mst&amp;lt; at &amp;gt;redhat.com&amp;gt;

Changes from v1:
Make work on non KVM hypervisors (only KVM was tested).
Avi Kivity said kvm will in the future report
max HV leaf in eax. For now it reports eax = 0
        so add a work around for that.

---

diff --git a/identify.c b/identify.c
index 33f35de..a4a3763 100644
--- a/identify.c
+++ b/identify.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -9,8 +9,8 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 
 void get_cpu_info_basics(struct cpudata *cpu)
 {
-unsigned int maxi, maxei, vendor, address_bits;
-unsigned int eax;
+unsigned int maxi, maxei, maxhv, vendor, address_bits;
+unsigned int eax, ebx, ecx;
 
 cpuid(cpu-&amp;gt;num&lt;/pre&gt;</description>
    <dc:creator>Michael S. Tsirkin</dc:creator>
    <dc:date>2012-04-30T14:38:35</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.linux.kernel.virtualization/15316">
    <title>[PATCH 0/3] virtio: balloon: cleanups and a fix</title>
    <link>http://comments.gmane.org/gmane.linux.kernel.virtualization/15316</link>
    <description>&lt;pre&gt;Hello,

The main fix is to update the host with the current balloon value on
module removal after deflating the balloon.  Without the fix, the host
has the wrong idea of the ballooned memory in the guest.  This is
patch 2.

Patches 1 and 3 are cleanups with no effective code change.

Please apply,

Amit Shah (3):
  virtio: balloon: drop restore_common()
  virtio: balloon: let host know of updated balloon size before module
    removal
  virtio: balloon: separate out common code between remove and freeze
    functions

 drivers/virtio/virtio_balloon.c |   34 ++++++++++++++--------------------
 1 files changed, 14 insertions(+), 20 deletions(-)

&lt;/pre&gt;</description>
    <dc:creator>Amit Shah</dc:creator>
    <dc:date>2012-04-26T19:15:54</dc:date>
  </item>
  <textinput rdf:about="http://search.gmane.org/?group=$group=gmane.linux.kernel.virtualization">
    <title>Search Engine</title>
    <description>Search the mailing list at Gmane</description>
    <name>query</name>
    <link>http://search.gmane.org/?group=$group=gmane.linux.kernel.virtualization</link>
  </textinput>
</rdf:RDF>

