All of lore.kernel.org
 help / color / mirror / Atom feed
From: Anshuman Khandual <khandual@linux.vnet.ibm.com>
To: virtualization@lists.linux-foundation.org, linux-kernel@vger.kernel.org
Cc: linuxppc-dev@lists.ozlabs.org, aik@ozlabs.ru, robh@kernel.org,
	joe@perches.com, elfring@users.sourceforge.net,
	david@gibson.dropbear.id.au, jasowang@redhat.com,
	benh@kernel.crashing.org, mpe@ellerman.id.au, mst@redhat.com,
	hch@infradead.org, linuxram@us.ibm.com, haren@linux.vnet.ibm.com,
	paulus@samba.org, srikar@linux.vnet.ibm.com
Subject: Re: [RFC 2/4] virtio: Override device's DMA OPS with virtio_direct_dma_ops selectively
Date: Sat, 28 Jul 2018 14:26:24 +0530	[thread overview]
Message-ID: <c443ad8c-fb81-302d-edb2-5521831d38da@linux.vnet.ibm.com> (raw)
In-Reply-To: <20180720035941.6844-3-khandual@linux.vnet.ibm.com>

On 07/20/2018 09:29 AM, Anshuman Khandual wrote:
> Now that virtio core always needs all virtio devices to have DMA OPS, we
> need to make sure that the structure it points is the right one. In the
> absence of VIRTIO_F_IOMMU_PLATFORM flag QEMU expects GPA from guest kernel.
> In such case, virtio device must use default virtio_direct_dma_ops DMA OPS
> structure which transforms scatter gather buffer addresses as GPA. This
> DMA OPS override must happen as early as possible during virtio device
> initializatin sequence before virtio core starts using given device's DMA
> OPS callbacks for I/O transactions. This change detects device's IOMMU flag
> and does the override in case the flag is cleared.
> 
> Signed-off-by: Anshuman Khandual <khandual@linux.vnet.ibm.com>
> ---
>  drivers/virtio/virtio.c | 5 +++++
>  1 file changed, 5 insertions(+)
> 
> diff --git a/drivers/virtio/virtio.c b/drivers/virtio/virtio.c
> index 7907ad3..6b13987 100644
> --- a/drivers/virtio/virtio.c
> +++ b/drivers/virtio/virtio.c
> @@ -166,6 +166,8 @@ void virtio_add_status(struct virtio_device *dev, unsigned int status)
>  }
>  EXPORT_SYMBOL_GPL(virtio_add_status);
> 
> +const struct dma_map_ops virtio_direct_dma_ops;
> +
>  int virtio_finalize_features(struct virtio_device *dev)
>  {
>  	int ret = dev->config->finalize_features(dev);
> @@ -174,6 +176,9 @@ int virtio_finalize_features(struct virtio_device *dev)
>  	if (ret)
>  		return ret;


The previous patch removed the code block for XEN guests which forced
the use of DMA API all the time irrespective of VIRTIO_F_IOMMU_PLATFORM
flag on the device. Here is what I have removed with patch 2/4 which
breaks the existing semantics on XEN guests.

-static bool vring_use_dma_api(struct virtio_device *vdev)
-{
-	if (!virtio_has_iommu_quirk(vdev))
-		return true;
-
-	/* Otherwise, we are left to guess. */
-	/*
-	 * In theory, it's possible to have a buggy QEMU-supposed
-	 * emulated Q35 IOMMU and Xen enabled at the same time.  On
-	 * such a configuration, virtio has never worked and will
-	 * not work without an even larger kludge.  Instead, enable
-	 * the DMA API if we're a Xen guest, which at least allows
-	 * all of the sensible Xen configurations to work correctly.
-	 */
-	if (xen_domain())
-		return true;
-
-	return false;
-}

XEN guests would not like override with virtio_direct_dma_ops in any
case irrespective of the flag VIRTIO_F_IOMMU_PLATFORM. So the existing
semantics can be preserved with something like this. It just assumes
that dev->dma_ops is non-NULL and a valid one set by the architecture.
If required we can add those tests here before skipping the override.

diff --git a/drivers/virtio/virtio.c b/drivers/virtio/virtio.c
index 7907ad3..6b13987 100644
--- a/drivers/virtio/virtio.c
+++ b/drivers/virtio/virtio.c
@@ -166,6 +166,8 @@ void virtio_add_status(struct virtio_device *dev, unsigned int status)
 }
 EXPORT_SYMBOL_GPL(virtio_add_status);

+const struct dma_map_ops virtio_direct_dma_ops;
+
 int virtio_finalize_features(struct virtio_device *dev)
 {
 	int ret = dev->config->finalize_features(dev);
@@ -174,6 +176,9 @@ int virtio_finalize_features(struct virtio_device *dev)
 	if (ret)
 		return ret;
+
+	if (xen_domain())
+		goto skip_override;
+
+	if (virtio_has_iommu_quirk(dev))
+		set_dma_ops(dev->dev.parent, &virtio_direct_dma_ops);
+
+ skip_override:
+
 	if (!virtio_has_feature(dev, VIRTIO_F_VERSION_1))
 		return 0

Will incorporate these changes in the next version.


WARNING: multiple messages have this Message-ID (diff)
From: Anshuman Khandual <khandual@linux.vnet.ibm.com>
To: virtualization@lists.linux-foundation.org, linux-kernel@vger.kernel.org
Cc: robh@kernel.org, srikar@linux.vnet.ibm.com, mst@redhat.com,
	benh@kernel.crashing.org, linuxram@us.ibm.com, hch@infradead.org,
	paulus@samba.org, mpe@ellerman.id.au, joe@perches.com,
	linuxppc-dev@lists.ozlabs.org, elfring@users.sourceforge.net,
	haren@linux.vnet.ibm.com, david@gibson.dropbear.id.au
Subject: Re: [RFC 2/4] virtio: Override device's DMA OPS with virtio_direct_dma_ops selectively
Date: Sat, 28 Jul 2018 14:26:24 +0530	[thread overview]
Message-ID: <c443ad8c-fb81-302d-edb2-5521831d38da@linux.vnet.ibm.com> (raw)
In-Reply-To: <20180720035941.6844-3-khandual@linux.vnet.ibm.com>

On 07/20/2018 09:29 AM, Anshuman Khandual wrote:
> Now that virtio core always needs all virtio devices to have DMA OPS, we
> need to make sure that the structure it points is the right one. In the
> absence of VIRTIO_F_IOMMU_PLATFORM flag QEMU expects GPA from guest kernel.
> In such case, virtio device must use default virtio_direct_dma_ops DMA OPS
> structure which transforms scatter gather buffer addresses as GPA. This
> DMA OPS override must happen as early as possible during virtio device
> initializatin sequence before virtio core starts using given device's DMA
> OPS callbacks for I/O transactions. This change detects device's IOMMU flag
> and does the override in case the flag is cleared.
> 
> Signed-off-by: Anshuman Khandual <khandual@linux.vnet.ibm.com>
> ---
>  drivers/virtio/virtio.c | 5 +++++
>  1 file changed, 5 insertions(+)
> 
> diff --git a/drivers/virtio/virtio.c b/drivers/virtio/virtio.c
> index 7907ad3..6b13987 100644
> --- a/drivers/virtio/virtio.c
> +++ b/drivers/virtio/virtio.c
> @@ -166,6 +166,8 @@ void virtio_add_status(struct virtio_device *dev, unsigned int status)
>  }
>  EXPORT_SYMBOL_GPL(virtio_add_status);
> 
> +const struct dma_map_ops virtio_direct_dma_ops;
> +
>  int virtio_finalize_features(struct virtio_device *dev)
>  {
>  	int ret = dev->config->finalize_features(dev);
> @@ -174,6 +176,9 @@ int virtio_finalize_features(struct virtio_device *dev)
>  	if (ret)
>  		return ret;


The previous patch removed the code block for XEN guests which forced
the use of DMA API all the time irrespective of VIRTIO_F_IOMMU_PLATFORM
flag on the device. Here is what I have removed with patch 2/4 which
breaks the existing semantics on XEN guests.

-static bool vring_use_dma_api(struct virtio_device *vdev)
-{
-	if (!virtio_has_iommu_quirk(vdev))
-		return true;
-
-	/* Otherwise, we are left to guess. */
-	/*
-	 * In theory, it's possible to have a buggy QEMU-supposed
-	 * emulated Q35 IOMMU and Xen enabled at the same time.  On
-	 * such a configuration, virtio has never worked and will
-	 * not work without an even larger kludge.  Instead, enable
-	 * the DMA API if we're a Xen guest, which at least allows
-	 * all of the sensible Xen configurations to work correctly.
-	 */
-	if (xen_domain())
-		return true;
-
-	return false;
-}

XEN guests would not like override with virtio_direct_dma_ops in any
case irrespective of the flag VIRTIO_F_IOMMU_PLATFORM. So the existing
semantics can be preserved with something like this. It just assumes
that dev->dma_ops is non-NULL and a valid one set by the architecture.
If required we can add those tests here before skipping the override.

diff --git a/drivers/virtio/virtio.c b/drivers/virtio/virtio.c
index 7907ad3..6b13987 100644
--- a/drivers/virtio/virtio.c
+++ b/drivers/virtio/virtio.c
@@ -166,6 +166,8 @@ void virtio_add_status(struct virtio_device *dev, unsigned int status)
 }
 EXPORT_SYMBOL_GPL(virtio_add_status);

+const struct dma_map_ops virtio_direct_dma_ops;
+
 int virtio_finalize_features(struct virtio_device *dev)
 {
 	int ret = dev->config->finalize_features(dev);
@@ -174,6 +176,9 @@ int virtio_finalize_features(struct virtio_device *dev)
 	if (ret)
 		return ret;
+
+	if (xen_domain())
+		goto skip_override;
+
+	if (virtio_has_iommu_quirk(dev))
+		set_dma_ops(dev->dev.parent, &virtio_direct_dma_ops);
+
+ skip_override:
+
 	if (!virtio_has_feature(dev, VIRTIO_F_VERSION_1))
 		return 0

Will incorporate these changes in the next version.

  reply	other threads:[~2018-07-28  8:56 UTC|newest]

Thread overview: 239+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-07-20  3:59 [RFC 0/4] Virtio uses DMA API for all devices Anshuman Khandual
2018-07-20  3:59 ` [RFC 1/4] virtio: Define virtio_direct_dma_ops structure Anshuman Khandual
2018-07-20  3:59 ` Anshuman Khandual
2018-07-30  9:24   ` Christoph Hellwig
2018-07-30  9:24     ` Christoph Hellwig
2018-07-31  4:01     ` Anshuman Khandual
2018-07-31  4:01     ` Anshuman Khandual
2018-07-20  3:59 ` [RFC 2/4] virtio: Override device's DMA OPS with virtio_direct_dma_ops selectively Anshuman Khandual
2018-07-20  3:59 ` Anshuman Khandual
2018-07-28  8:56   ` Anshuman Khandual [this message]
2018-07-28  8:56     ` Anshuman Khandual
2018-07-28 21:16     ` Michael S. Tsirkin
2018-07-30  4:15       ` Anshuman Khandual
2018-07-30  4:15         ` Anshuman Khandual
2018-07-30  9:30       ` Christoph Hellwig
2018-07-31  6:39         ` Anshuman Khandual
2018-07-31  6:39         ` Anshuman Khandual
2018-07-30  9:30       ` Christoph Hellwig
2018-07-28 21:16     ` Michael S. Tsirkin
2018-07-30  9:25   ` Christoph Hellwig
2018-07-31  7:00     ` Anshuman Khandual
2018-07-31  7:00     ` Anshuman Khandual
2018-07-30  9:25   ` Christoph Hellwig
2018-07-20  3:59 ` [RFC 3/4] virtio: Force virtio core to use DMA API callbacks for all virtio devices Anshuman Khandual
2018-07-20  3:59 ` Anshuman Khandual
2018-07-20  3:59 ` [RFC 4/4] virtio: Add platform specific DMA API translation for virito devices Anshuman Khandual
2018-07-20 13:15   ` Michael S. Tsirkin
2018-07-20 13:15     ` Michael S. Tsirkin
2018-07-23  2:16     ` Anshuman Khandual
2018-07-23  2:16       ` Anshuman Khandual
2018-07-25  4:30       ` Anshuman Khandual
2018-07-25  4:30         ` Anshuman Khandual
2018-07-25 13:31       ` Michael S. Tsirkin
2018-07-25 13:31       ` Michael S. Tsirkin
2018-07-20  3:59 ` Anshuman Khandual
2018-07-20 13:16 ` [RFC 0/4] Virtio uses DMA API for all devices Michael S. Tsirkin
2018-07-20 13:16 ` Michael S. Tsirkin
2018-07-23  6:28   ` Anshuman Khandual
2018-07-23  9:08     ` Michael S. Tsirkin
2018-07-23  9:08       ` Michael S. Tsirkin
2018-07-25  3:26       ` Anshuman Khandual
2018-07-27 11:31         ` Michael S. Tsirkin
2018-07-27 11:31           ` Michael S. Tsirkin
2018-07-28  8:37           ` Anshuman Khandual
2018-07-28  8:37             ` Anshuman Khandual
2018-07-25  3:26       ` Anshuman Khandual
2018-07-23  6:28   ` Anshuman Khandual
2018-07-27  9:58 ` Will Deacon
2018-07-27  9:58   ` Will Deacon
2018-07-27  9:58   ` Will Deacon
2018-07-27 10:58   ` Anshuman Khandual
2018-07-27 10:58   ` Anshuman Khandual
2018-07-30  9:34   ` Christoph Hellwig
2018-07-30  9:34     ` Christoph Hellwig
2018-07-30 10:28     ` Michael S. Tsirkin
2018-07-30 10:28       ` Michael S. Tsirkin
2018-07-30 11:18       ` Christoph Hellwig
2018-07-30 11:18         ` Christoph Hellwig
2018-07-30 13:26         ` Michael S. Tsirkin
2018-07-30 13:26           ` Michael S. Tsirkin
2018-07-31 17:30           ` Christoph Hellwig
2018-07-31 17:30             ` Christoph Hellwig
2018-07-31 20:36             ` Benjamin Herrenschmidt
2018-07-31 20:36             ` Benjamin Herrenschmidt
2018-08-01  8:16               ` Will Deacon
2018-08-01  8:16               ` Will Deacon
2018-08-01  8:36                 ` Christoph Hellwig
2018-08-01  8:36                 ` Christoph Hellwig
2018-08-01  8:36                   ` Christoph Hellwig
2018-08-01  9:05                   ` Will Deacon
2018-08-01  9:05                     ` Will Deacon
2018-08-01 22:41                     ` Michael S. Tsirkin
2018-08-01 22:41                     ` Michael S. Tsirkin
2018-08-01 22:35                   ` Michael S. Tsirkin
2018-08-01 22:35                   ` Michael S. Tsirkin
2018-08-02 15:24                   ` Benjamin Herrenschmidt
2018-08-02 15:24                     ` Benjamin Herrenschmidt
2018-08-02 15:41                     ` Michael S. Tsirkin
2018-08-02 15:41                     ` Michael S. Tsirkin
2018-08-02 16:01                       ` Benjamin Herrenschmidt
2018-08-02 16:01                         ` Benjamin Herrenschmidt
2018-08-02 17:19                         ` Michael S. Tsirkin
2018-08-02 17:19                         ` Michael S. Tsirkin
2018-08-02 17:53                           ` Benjamin Herrenschmidt
2018-08-02 17:53                             ` Benjamin Herrenschmidt
2018-08-02 20:52                             ` Michael S. Tsirkin
2018-08-02 20:52                               ` Michael S. Tsirkin
2018-08-02 21:13                               ` Benjamin Herrenschmidt
2018-08-02 21:13                                 ` Benjamin Herrenschmidt
2018-08-02 21:51                                 ` Michael S. Tsirkin
2018-08-02 21:51                                   ` Michael S. Tsirkin
2018-08-03  7:05                                 ` Christoph Hellwig
2018-08-03  7:05                                 ` Christoph Hellwig
2018-08-03 15:58                                   ` Benjamin Herrenschmidt
2018-08-03 15:58                                     ` Benjamin Herrenschmidt
2018-08-03 16:02                                     ` Christoph Hellwig
2018-08-03 16:02                                       ` Christoph Hellwig
2018-08-03 18:58                                       ` Benjamin Herrenschmidt
2018-08-03 18:58                                         ` Benjamin Herrenschmidt
2018-08-04  8:21                                         ` Christoph Hellwig
2018-08-04  8:21                                           ` Christoph Hellwig
2018-08-05  1:10                                           ` Benjamin Herrenschmidt
2018-08-05  1:10                                             ` Benjamin Herrenschmidt
2018-08-05  1:10                                             ` Benjamin Herrenschmidt
2018-08-05  7:29                                             ` Christoph Hellwig
2018-08-05  7:29                                               ` Christoph Hellwig
2018-08-05 21:16                                               ` Benjamin Herrenschmidt
2018-08-05 21:16                                                 ` Benjamin Herrenschmidt
2018-08-05 21:30                                                 ` Benjamin Herrenschmidt
2018-08-05 21:30                                                   ` Benjamin Herrenschmidt
2018-08-06  9:42                                                 ` Christoph Hellwig
2018-08-06  9:42                                                   ` Christoph Hellwig
2018-08-06 19:52                                                   ` Benjamin Herrenschmidt
2018-08-06 19:52                                                     ` Benjamin Herrenschmidt
2018-08-07  6:21                                                     ` Christoph Hellwig
2018-08-07  6:42                                                       ` Benjamin Herrenschmidt
2018-08-07  6:42                                                         ` Benjamin Herrenschmidt
2018-08-07 13:55                                                         ` Christoph Hellwig
2018-08-07 20:32                                                           ` Benjamin Herrenschmidt
2018-08-07 20:32                                                             ` Benjamin Herrenschmidt
2018-08-08  6:31                                                             ` Christoph Hellwig
2018-08-08  6:31                                                             ` Christoph Hellwig
2018-08-08 10:07                                                               ` Benjamin Herrenschmidt
2018-08-08 10:07                                                                 ` Benjamin Herrenschmidt
2018-08-08 12:30                                                                 ` Christoph Hellwig
2018-08-08 13:18                                                                   ` Benjamin Herrenschmidt
2018-08-08 13:18                                                                     ` Benjamin Herrenschmidt
2018-08-08 20:31                                                                     ` Michael S. Tsirkin
2018-08-08 22:13                                                                       ` Benjamin Herrenschmidt
2018-08-08 22:13                                                                         ` Benjamin Herrenschmidt
2018-08-09  2:00                                                                         ` Benjamin Herrenschmidt
2018-08-09  2:00                                                                           ` Benjamin Herrenschmidt
2018-08-09  5:40                                                                         ` Christoph Hellwig
2018-08-09  5:40                                                                           ` Christoph Hellwig
2018-09-07  0:09                                                                           ` Jiandi An
2018-09-10  6:19                                                                             ` Christoph Hellwig
2018-09-10  6:19                                                                             ` Christoph Hellwig
2018-09-10  8:53                                                                               ` Gerd Hoffmann
2018-09-10  8:53                                                                               ` Gerd Hoffmann
2018-08-08 20:31                                                                     ` Michael S. Tsirkin
2018-08-08 12:30                                                                 ` Christoph Hellwig
2018-08-07 13:55                                                         ` Christoph Hellwig
2018-08-07  6:21                                                     ` Christoph Hellwig
2018-08-03 19:07                                     ` Michael S. Tsirkin
2018-08-03 19:07                                     ` Michael S. Tsirkin
2018-08-04  1:11                                       ` Benjamin Herrenschmidt
2018-08-04  1:11                                         ` Benjamin Herrenschmidt
2018-08-04  1:16                                       ` Benjamin Herrenschmidt
2018-08-04  1:16                                       ` Benjamin Herrenschmidt
2018-08-05  0:22                                         ` Michael S. Tsirkin
2018-08-05  4:52                                           ` Benjamin Herrenschmidt
2018-08-05  4:52                                             ` Benjamin Herrenschmidt
2018-08-06 13:46                                             ` Michael S. Tsirkin
2018-08-06 19:56                                               ` Benjamin Herrenschmidt
2018-08-06 19:56                                                 ` Benjamin Herrenschmidt
2018-08-06 20:35                                                 ` Michael S. Tsirkin
2018-08-06 21:26                                                   ` Benjamin Herrenschmidt
2018-08-06 21:26                                                     ` Benjamin Herrenschmidt
2018-08-06 21:46                                                     ` Michael S. Tsirkin
2018-08-06 21:46                                                     ` Michael S. Tsirkin
2018-08-06 22:13                                                       ` Benjamin Herrenschmidt
2018-08-06 22:13                                                         ` Benjamin Herrenschmidt
2018-08-06 23:16                                                         ` Benjamin Herrenschmidt
2018-08-06 23:16                                                           ` Benjamin Herrenschmidt
2018-08-06 23:45                                                         ` Michael S. Tsirkin
2018-08-07  0:18                                                           ` Benjamin Herrenschmidt
2018-08-07  0:18                                                             ` Benjamin Herrenschmidt
2018-08-07  6:32                                                           ` Christoph Hellwig
2018-08-07  6:32                                                           ` Christoph Hellwig
2018-08-06 23:45                                                         ` Michael S. Tsirkin
2018-08-07  6:27                                                         ` Christoph Hellwig
2018-08-07  6:27                                                         ` Christoph Hellwig
2018-08-07  6:44                                                           ` Benjamin Herrenschmidt
2018-08-07  6:44                                                             ` Benjamin Herrenschmidt
2018-08-07  6:18                                                       ` Christoph Hellwig
2018-08-07  6:18                                                       ` Christoph Hellwig
2018-08-07  6:16                                                     ` Christoph Hellwig
2018-08-07  6:16                                                       ` Christoph Hellwig
2018-08-06 23:18                                                   ` Benjamin Herrenschmidt
2018-08-06 23:18                                                     ` Benjamin Herrenschmidt
2018-08-07  6:12                                                   ` Christoph Hellwig
2018-08-07  6:12                                                     ` Christoph Hellwig
2018-08-06 20:35                                                 ` Michael S. Tsirkin
2018-08-06 13:46                                             ` Michael S. Tsirkin
2018-08-05  0:22                                         ` Michael S. Tsirkin
2018-08-04  1:18                                       ` Benjamin Herrenschmidt
2018-08-04  1:18                                       ` Benjamin Herrenschmidt
2018-08-04  1:22                                       ` Benjamin Herrenschmidt
2018-08-04  1:22                                         ` Benjamin Herrenschmidt
2018-08-05  0:23                                         ` Michael S. Tsirkin
2018-08-05  0:23                                         ` Michael S. Tsirkin
2018-08-03 19:17                                   ` Michael S. Tsirkin
2018-08-03 19:17                                     ` Michael S. Tsirkin
2018-08-04  8:15                                     ` Christoph Hellwig
2018-08-04  8:15                                       ` Christoph Hellwig
2018-08-05  0:09                                       ` Michael S. Tsirkin
2018-08-05  0:09                                       ` Michael S. Tsirkin
2018-08-05  1:11                                         ` Benjamin Herrenschmidt
2018-08-05  1:11                                           ` Benjamin Herrenschmidt
2018-08-05  7:25                                         ` Christoph Hellwig
2018-08-05  7:25                                           ` Christoph Hellwig
2018-08-05  0:53                                       ` Benjamin Herrenschmidt
2018-08-05  0:53                                         ` Benjamin Herrenschmidt
2018-08-05  0:27                 ` Michael S. Tsirkin
2018-08-05  0:27                   ` Michael S. Tsirkin
2018-08-06 14:05                   ` Will Deacon
2018-08-06 14:05                   ` Will Deacon
2018-08-01 21:56               ` Michael S. Tsirkin
2018-08-01 21:56               ` Michael S. Tsirkin
2018-08-02 15:33                 ` Benjamin Herrenschmidt
2018-08-02 15:33                   ` Benjamin Herrenschmidt
2018-08-02 20:53                   ` Michael S. Tsirkin
2018-08-03  7:06                     ` Christoph Hellwig
2018-08-03  7:06                     ` Christoph Hellwig
2018-08-02 20:53                   ` Michael S. Tsirkin
2018-08-02 20:55 ` Michael S. Tsirkin
2018-08-02 20:55 ` Michael S. Tsirkin
2018-08-03  2:41   ` Jason Wang
2018-08-03  2:41     ` Jason Wang
2018-08-03 19:08     ` Michael S. Tsirkin
2018-08-04  1:21       ` Benjamin Herrenschmidt
2018-08-04  1:21         ` Benjamin Herrenschmidt
2018-08-05  0:24         ` Michael S. Tsirkin
2018-08-05  0:24         ` Michael S. Tsirkin
2018-08-06  9:02           ` Anshuman Khandual
2018-08-06  9:02             ` Anshuman Khandual
2018-08-06 13:36             ` Michael S. Tsirkin
2018-08-06 13:36               ` Michael S. Tsirkin
2018-08-06 15:24               ` Christoph Hellwig
2018-08-06 16:06                 ` Michael S. Tsirkin
2018-08-06 16:06                 ` Michael S. Tsirkin
2018-08-06 16:10                   ` Christoph Hellwig
2018-08-06 16:10                     ` Christoph Hellwig
2018-08-06 16:13                     ` Michael S. Tsirkin
2018-08-06 16:13                       ` Michael S. Tsirkin
2018-08-06 16:34                       ` Christoph Hellwig
2018-08-06 16:34                         ` Christoph Hellwig
2018-08-06 15:24               ` Christoph Hellwig
2018-08-03 19:08     ` Michael S. Tsirkin

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=c443ad8c-fb81-302d-edb2-5521831d38da@linux.vnet.ibm.com \
    --to=khandual@linux.vnet.ibm.com \
    --cc=aik@ozlabs.ru \
    --cc=benh@kernel.crashing.org \
    --cc=david@gibson.dropbear.id.au \
    --cc=elfring@users.sourceforge.net \
    --cc=haren@linux.vnet.ibm.com \
    --cc=hch@infradead.org \
    --cc=jasowang@redhat.com \
    --cc=joe@perches.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=linuxram@us.ibm.com \
    --cc=mpe@ellerman.id.au \
    --cc=mst@redhat.com \
    --cc=paulus@samba.org \
    --cc=robh@kernel.org \
    --cc=srikar@linux.vnet.ibm.com \
    --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.