DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] [git pull] virtio changes for 17.11-rc1
@ 2017-10-06  6:45 Yuanhan Liu
  2017-10-06  9:47 ` Thomas Monjalon
  2017-10-07 14:37 ` Thomas Monjalon
  0 siblings, 2 replies; 14+ messages in thread
From: Yuanhan Liu @ 2017-10-06  6:45 UTC (permalink / raw)
  To: Thomas Monjalon; +Cc: dev

Hi Thomas,

Please consider pulling following virtio changes for 17.11-rc1 at
    git://dpdk.org/next/dpdk-next-virtio    master

Thanks.

	--yliu

---
Daniel Mrzyglod (1):
      net/virtio: fix of untrusted scalar value

Jay Zhou (1):
      net/virtio: fix a typo

Maxime Coquelin (19):
      Revert "vhost: workaround MQ fails to startup"
      vhost: make error handling consistent in Rx path
      vhost: prepare for slave requests
      vhost: add support to slave requests channel
      vhost: add IOMMU-related macros for old kernels
      vhost: add iotlb helper functions
      vhost: iotlb: add pending miss request list and helpers
      vhost-user: add support to IOTLB miss slave requests
      vhost: initialize vrings IOTLB caches
      vhost-user: handle IOTLB update and invalidate requests
      vhost: introduce guest IOVA to backend VA helper
      vhost: use the guest IOVA to host VA helper
      vhost: enable rings at the right time
      vhost: fix dereferencing invalid pointer after reallocation
      vhost: postpone rings addresses translation
      vhost-user: translate ring addresses when IOMMU enabled
      vhost: postpone device creation until ring are mapped
      vhost: invalidate vring in case of matching IOTLB invalidate
      vhost: enable IOMMU support

Olivier Matz (10):
      net/virtio: revert "do not claim to support LRO"
      net/virtio: revert "do not falsely claim to do IP checksum"
      doc: fix description of L4 Rx checksum offload
      net/virtio: fix log levels in configure
      net/virtio: fix mbuf port for simple Rx function
      net/virtio: fix queue setup consistency
      net/virtio: rationalize setting of Rx/Tx handlers
      net/virtio: remove SSE check
      net/virtio: keep Rx handler whatever the Tx queue config
      net/virtio: fix Rx handler when checksum is requested

Steven (1):
      net/virtio-user: send kick notify backend on initialization

Tiwei Bie (1):
      vhost: batch small guest memory copies

Zhiyong Yang (3):
      net/virtio: fix the wrong indent
      net/virtio: use macro to replace magic number
      net/virtio: use pointer to replace memcpy

---
 doc/guides/nics/features.rst                |   1 +
 doc/guides/rel_notes/release_17_11.rst      |   4 +
 drivers/net/virtio/virtio_ethdev.c          | 123 ++++++++--
 drivers/net/virtio/virtio_ethdev.h          |   6 +
 drivers/net/virtio/virtio_pci.c             |   2 +-
 drivers/net/virtio/virtio_pci.h             |   3 +-
 drivers/net/virtio/virtio_rxtx.c            |  73 +++---
 drivers/net/virtio/virtio_rxtx.h            |   2 +-
 drivers/net/virtio/virtio_rxtx_simple.c     |   2 +
 drivers/net/virtio/virtio_user/vhost_user.c |   4 +
 drivers/net/virtio/virtio_user_ethdev.c     |   3 +-
 drivers/net/virtio/virtqueue.h              |   4 +-
 lib/librte_vhost/Makefile                   |   4 +-
 lib/librte_vhost/iotlb.c                    | 352 ++++++++++++++++++++++++++++
 lib/librte_vhost/iotlb.h                    |  76 ++++++
 lib/librte_vhost/vhost.c                    | 117 ++++++++-
 lib/librte_vhost/vhost.h                    |  74 +++++-
 lib/librte_vhost/vhost_user.c               | 324 ++++++++++++++++++++++---
 lib/librte_vhost/vhost_user.h               |  20 +-
 lib/librte_vhost/virtio_net.c               | 336 ++++++++++++++++++++------
 20 files changed, 1328 insertions(+), 202 deletions(-)

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [dpdk-dev] [git pull] virtio changes for 17.11-rc1
  2017-10-06  6:45 [dpdk-dev] [git pull] virtio changes for 17.11-rc1 Yuanhan Liu
@ 2017-10-06  9:47 ` Thomas Monjalon
  2017-10-06 10:50   ` Bruce Richardson
  2017-10-06 11:05   ` Yuanhan Liu
  2017-10-07 14:37 ` Thomas Monjalon
  1 sibling, 2 replies; 14+ messages in thread
From: Thomas Monjalon @ 2017-10-06  9:47 UTC (permalink / raw)
  To: Yuanhan Liu; +Cc: dev

06/10/2017 08:45, Yuanhan Liu:
> Hi Thomas,
> 
> Please consider pulling following virtio changes for 17.11-rc1 at
>     git://dpdk.org/next/dpdk-next-virtio    master

What about the other virtio/vhost patches pending in patchwork?

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [dpdk-dev] [git pull] virtio changes for 17.11-rc1
  2017-10-06  9:47 ` Thomas Monjalon
@ 2017-10-06 10:50   ` Bruce Richardson
  2017-10-06 12:04     ` Thomas Monjalon
  2017-10-06 11:05   ` Yuanhan Liu
  1 sibling, 1 reply; 14+ messages in thread
From: Bruce Richardson @ 2017-10-06 10:50 UTC (permalink / raw)
  To: Thomas Monjalon; +Cc: Yuanhan Liu, dev

On Fri, Oct 06, 2017 at 11:47:27AM +0200, Thomas Monjalon wrote:
> 06/10/2017 08:45, Yuanhan Liu:
> > Hi Thomas,
> > 
> > Please consider pulling following virtio changes for 17.11-rc1 at
> >     git://dpdk.org/next/dpdk-next-virtio    master
> 
> What about the other virtio/vhost patches pending in patchwork?
> 
Just my 2c here, is that there is currently a lot of code merged to the
*-next trees that is staged for the mainline, so whatever state it is
in, I'd like to see it all pulled ASAP. That way we all can work off a
common baseline.

Perhaps for the 18.02 release, we can see more frequent
pulls of the subtrees, so as to avoid having unsynced patches throughout
all trees?

/Bruce

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [dpdk-dev] [git pull] virtio changes for 17.11-rc1
  2017-10-06  9:47 ` Thomas Monjalon
  2017-10-06 10:50   ` Bruce Richardson
@ 2017-10-06 11:05   ` Yuanhan Liu
  1 sibling, 0 replies; 14+ messages in thread
From: Yuanhan Liu @ 2017-10-06 11:05 UTC (permalink / raw)
  To: Thomas Monjalon; +Cc: dev

On Fri, Oct 06, 2017 at 11:47:27AM +0200, Thomas Monjalon wrote:
> 06/10/2017 08:45, Yuanhan Liu:
> > Hi Thomas,
> > 
> > Please consider pulling following virtio changes for 17.11-rc1 at
> >     git://dpdk.org/next/dpdk-next-virtio    master
> 
> What about the other virtio/vhost patches pending in patchwork?

Due to my bad: not reviewing them in time, they are not in this pull
request. I will consider to merge them (if they are good) later (say
rc2). OTOH, I just saw 6 patches are pending in my list (and 2 of
them are very old, that they are not in my list for this release).

One big patchset hasn't been merged yet is the generic interface for
vdev multiple process model. I still have some comments about the
vhost part, thus it's not included in this pull request. It was also
asked for more review about the EAL changes. Also, it may not be
my duty to send merge this patchset: the core changes lie in EAL
and vdev bus.

	--yliu

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [dpdk-dev] [git pull] virtio changes for 17.11-rc1
  2017-10-06 10:50   ` Bruce Richardson
@ 2017-10-06 12:04     ` Thomas Monjalon
  0 siblings, 0 replies; 14+ messages in thread
From: Thomas Monjalon @ 2017-10-06 12:04 UTC (permalink / raw)
  To: Bruce Richardson; +Cc: Yuanhan Liu, dev

06/10/2017 12:50, Bruce Richardson:
> On Fri, Oct 06, 2017 at 11:47:27AM +0200, Thomas Monjalon wrote:
> > 06/10/2017 08:45, Yuanhan Liu:
> > > Hi Thomas,
> > > 
> > > Please consider pulling following virtio changes for 17.11-rc1 at
> > >     git://dpdk.org/next/dpdk-next-virtio    master
> > 
> > What about the other virtio/vhost patches pending in patchwork?
> > 
> Just my 2c here, is that there is currently a lot of code merged to the
> *-next trees that is staged for the mainline, so whatever state it is
> in, I'd like to see it all pulled ASAP. That way we all can work off a
> common baseline.

Yes I am going to pull them today and tomorrow.

> Perhaps for the 18.02 release, we can see more frequent
> pulls of the subtrees, so as to avoid having unsynced patches throughout
> all trees?

Yes it was the plan to have more frequent pulls.
The plans have not been respected during the last two months.
That's why Ferruh will help to avoid such delay.

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [dpdk-dev] [git pull] virtio changes for 17.11-rc1
  2017-10-06  6:45 [dpdk-dev] [git pull] virtio changes for 17.11-rc1 Yuanhan Liu
  2017-10-06  9:47 ` Thomas Monjalon
@ 2017-10-07 14:37 ` Thomas Monjalon
  2017-10-07 14:57   ` Thomas Monjalon
                     ` (2 more replies)
  1 sibling, 3 replies; 14+ messages in thread
From: Thomas Monjalon @ 2017-10-07 14:37 UTC (permalink / raw)
  To: Yuanhan Liu, olivier.matz, maxime.coquelin; +Cc: dev

06/10/2017 08:45, Yuanhan Liu:
> Hi Thomas,
> 
> Please consider pulling following virtio changes for 17.11-rc1 at
>     git://dpdk.org/next/dpdk-next-virtio    master

There is a compilation error on ARM with
"net/virtio: rationalize setting of Rx/Tx handlers"
An include of rte_cpuflags.h is missing.

There is also an error seen by clang in
"vhost-user: add support to IOTLB miss slave requests"
	implicit conversion from enumeration type 'enum VhostUserSlaveRequest'
	to different enumeration type 'VhostUserRequest'

This last error may be a real issue because VHOST_USER_SLAVE_IOTLB_MSG in
VhostUserSlaveRequest can be understood as VHOST_USER_GET_FEATURES in
VhostUserRequest.

Please advise

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [dpdk-dev] [git pull] virtio changes for 17.11-rc1
  2017-10-07 14:37 ` Thomas Monjalon
@ 2017-10-07 14:57   ` Thomas Monjalon
  2017-10-09  8:20     ` Maxime Coquelin
  2017-10-08 20:10   ` Olivier MATZ
  2017-10-09  2:55   ` Yuanhan Liu
  2 siblings, 1 reply; 14+ messages in thread
From: Thomas Monjalon @ 2017-10-07 14:57 UTC (permalink / raw)
  To: Yuanhan Liu, maxime.coquelin; +Cc: dev, olivier.matz

07/10/2017 16:37, Thomas Monjalon:
> 06/10/2017 08:45, Yuanhan Liu:
> > Hi Thomas,
> > 
> > Please consider pulling following virtio changes for 17.11-rc1 at
> >     git://dpdk.org/next/dpdk-next-virtio    master
> 
> There is a compilation error on ARM with
> "net/virtio: rationalize setting of Rx/Tx handlers"
> An include of rte_cpuflags.h is missing.
> 
> There is also an error seen by clang in
> "vhost-user: add support to IOTLB miss slave requests"
> 	implicit conversion from enumeration type 'enum VhostUserSlaveRequest'
> 	to different enumeration type 'VhostUserRequest'
> 
> This last error may be a real issue because VHOST_USER_SLAVE_IOTLB_MSG in
> VhostUserSlaveRequest can be understood as VHOST_USER_GET_FEATURES in
> VhostUserRequest.
> 
> Please advise

One more error with 32-bit compilation this time:
"vhost: postpone device creation until ring are mapped"
lib/librte_vhost/vhost.c:147:13: error:
cast to pointer from integer of different size

Please work together to have a tree which can be compiled for
ARM and x86, 32-bit or 64-bit, with gcc or clang.

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [dpdk-dev] [git pull] virtio changes for 17.11-rc1
  2017-10-07 14:37 ` Thomas Monjalon
  2017-10-07 14:57   ` Thomas Monjalon
@ 2017-10-08 20:10   ` Olivier MATZ
  2017-10-08 20:16     ` Thomas Monjalon
  2017-10-09  2:55   ` Yuanhan Liu
  2 siblings, 1 reply; 14+ messages in thread
From: Olivier MATZ @ 2017-10-08 20:10 UTC (permalink / raw)
  To: Thomas Monjalon; +Cc: Yuanhan Liu, maxime.coquelin, dev

Hi Thomas,

On Sat, Oct 07, 2017 at 04:37:53PM +0200, Thomas Monjalon wrote:
> 06/10/2017 08:45, Yuanhan Liu:
> > Hi Thomas,
> > 
> > Please consider pulling following virtio changes for 17.11-rc1 at
> >     git://dpdk.org/next/dpdk-next-virtio    master
> 
> There is a compilation error on ARM with
> "net/virtio: rationalize setting of Rx/Tx handlers"
> An include of rte_cpuflags.h is missing.

I confirm that this include is missing in virtio_ethdev.c, breaking
compilation on arm (thanks for spotting it):

 virtio_ethdev.c: In function 'virtio_dev_configure':
 virtio_ethdev.c:1748:7: error: implicit declaration of function
        'rte_cpu_get_flag_enabled' [-Werror=implicit-function-declaration]
   if (!rte_cpu_get_flag_enabled(RTE_CPUFLAG_NEON)) {
        ^

Thomas, about this issue, what do you expect? I can send another patch
if required.

Olivier

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [dpdk-dev] [git pull] virtio changes for 17.11-rc1
  2017-10-08 20:10   ` Olivier MATZ
@ 2017-10-08 20:16     ` Thomas Monjalon
  2017-10-09  2:43       ` Yuanhan Liu
  0 siblings, 1 reply; 14+ messages in thread
From: Thomas Monjalon @ 2017-10-08 20:16 UTC (permalink / raw)
  To: Yuanhan Liu; +Cc: Olivier MATZ, maxime.coquelin, dev

08/10/2017 22:10, Olivier MATZ:
> Hi Thomas,
> 
> On Sat, Oct 07, 2017 at 04:37:53PM +0200, Thomas Monjalon wrote:
> > 06/10/2017 08:45, Yuanhan Liu:
> > > Hi Thomas,
> > > 
> > > Please consider pulling following virtio changes for 17.11-rc1 at
> > >     git://dpdk.org/next/dpdk-next-virtio    master
> > 
> > There is a compilation error on ARM with
> > "net/virtio: rationalize setting of Rx/Tx handlers"
> > An include of rte_cpuflags.h is missing.
> 
> I confirm that this include is missing in virtio_ethdev.c, breaking
> compilation on arm (thanks for spotting it):
> 
>  virtio_ethdev.c: In function 'virtio_dev_configure':
>  virtio_ethdev.c:1748:7: error: implicit declaration of function
>         'rte_cpu_get_flag_enabled' [-Werror=implicit-function-declaration]
>    if (!rte_cpu_get_flag_enabled(RTE_CPUFLAG_NEON)) {
>         ^
> 
> Thomas, about this issue, what do you expect? I can send another patch
> if required.

It can be fixed by Yuanhan in next-virtio tree.

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [dpdk-dev] [git pull] virtio changes for 17.11-rc1
  2017-10-08 20:16     ` Thomas Monjalon
@ 2017-10-09  2:43       ` Yuanhan Liu
  2017-10-09  7:13         ` Maxime Coquelin
  0 siblings, 1 reply; 14+ messages in thread
From: Yuanhan Liu @ 2017-10-09  2:43 UTC (permalink / raw)
  To: Thomas Monjalon; +Cc: Olivier MATZ, maxime.coquelin, dev

On Sun, Oct 08, 2017 at 10:16:29PM +0200, Thomas Monjalon wrote:
> 08/10/2017 22:10, Olivier MATZ:
> > Hi Thomas,
> > 
> > On Sat, Oct 07, 2017 at 04:37:53PM +0200, Thomas Monjalon wrote:
> > > 06/10/2017 08:45, Yuanhan Liu:
> > > > Hi Thomas,
> > > > 
> > > > Please consider pulling following virtio changes for 17.11-rc1 at
> > > >     git://dpdk.org/next/dpdk-next-virtio    master
> > > 
> > > There is a compilation error on ARM with
> > > "net/virtio: rationalize setting of Rx/Tx handlers"
> > > An include of rte_cpuflags.h is missing.
> > 
> > I confirm that this include is missing in virtio_ethdev.c, breaking
> > compilation on arm (thanks for spotting it):
> > 
> >  virtio_ethdev.c: In function 'virtio_dev_configure':
> >  virtio_ethdev.c:1748:7: error: implicit declaration of function
> >         'rte_cpu_get_flag_enabled' [-Werror=implicit-function-declaration]
> >    if (!rte_cpu_get_flag_enabled(RTE_CPUFLAG_NEON)) {
> >         ^
> > 
> > Thomas, about this issue, what do you expect? I can send another patch
> > if required.
> 
> It can be fixed by Yuanhan in next-virtio tree.

Yes, I will fix them and then send another pull request.

Olivier and Maxime, please confirm the following fixes.

Thanks.

	--yliu

---
diff --git a/drivers/net/virtio/virtio_ethdev.c b/drivers/net/virtio/virtio_ethdev.c
index 9fb71e6..42c2836 100644
--- a/drivers/net/virtio/virtio_ethdev.c
+++ b/drivers/net/virtio/virtio_ethdev.c
@@ -49,6 +49,7 @@
 #include <rte_ether.h>
 #include <rte_common.h>
 #include <rte_errno.h>
+#include <rte_cpuflags.h>

 #include <rte_memory.h>
 #include <rte_eal.h>
diff --git a/drivers/net/virtio/virtio_rxtx.c b/drivers/net/virtio/virtio_rxtx.c
index 45a9c91..609b413 100644
--- a/drivers/net/virtio/virtio_rxtx.c
+++ b/drivers/net/virtio/virtio_rxtx.c
@@ -50,7 +50,6 @@
 #include <rte_string_fns.h>
 #include <rte_errno.h>
 #include <rte_byteorder.h>
-#include <rte_cpuflags.h>
 #include <rte_net.h>
 #include <rte_ip.h>
 #include <rte_udp.h>
diff --git a/lib/librte_vhost/vhost_user.c b/lib/librte_vhost/vhost_user.c
index f891f57..207fda5 100644
--- a/lib/librte_vhost/vhost_user.c
+++ b/lib/librte_vhost/vhost_user.c
@@ -1352,7 +1352,7 @@ int vhost_user_iotlb_miss(struct virtio_net *dev, uint64_t iova, uint8_t perm)
 {
        int ret;
        struct VhostUserMsg msg = {
-               .request = VHOST_USER_SLAVE_IOTLB_MSG,
+               .request = (enum VhostUserRequest)VHOST_USER_SLAVE_IOTLB_MSG,
                .flags = VHOST_USER_VERSION,
                .size = sizeof(msg.payload.iotlb),
                .payload.iotlb = {

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [dpdk-dev] [git pull] virtio changes for 17.11-rc1
  2017-10-07 14:37 ` Thomas Monjalon
  2017-10-07 14:57   ` Thomas Monjalon
  2017-10-08 20:10   ` Olivier MATZ
@ 2017-10-09  2:55   ` Yuanhan Liu
  2017-10-09  7:13     ` Maxime Coquelin
  2 siblings, 1 reply; 14+ messages in thread
From: Yuanhan Liu @ 2017-10-09  2:55 UTC (permalink / raw)
  To: Thomas Monjalon; +Cc: olivier.matz, maxime.coquelin, dev

On Sat, Oct 07, 2017 at 04:37:53PM +0200, Thomas Monjalon wrote:
> 06/10/2017 08:45, Yuanhan Liu:
> > Hi Thomas,
> > 
> > Please consider pulling following virtio changes for 17.11-rc1 at
> >     git://dpdk.org/next/dpdk-next-virtio    master
> 
> There is a compilation error on ARM with
> "net/virtio: rationalize setting of Rx/Tx handlers"
> An include of rte_cpuflags.h is missing.
> 
> There is also an error seen by clang in
> "vhost-user: add support to IOTLB miss slave requests"
> 	implicit conversion from enumeration type 'enum VhostUserSlaveRequest'
> 	to different enumeration type 'VhostUserRequest'
> 
> This last error may be a real issue because VHOST_USER_SLAVE_IOTLB_MSG in
> VhostUserSlaveRequest can be understood as VHOST_USER_GET_FEATURES in
> VhostUserRequest.

It won't be an issue, as the vhost-user frontend can distinguish it:
the two different kind of messages are sent over by two different fd.

	--yliu

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [dpdk-dev] [git pull] virtio changes for 17.11-rc1
  2017-10-09  2:43       ` Yuanhan Liu
@ 2017-10-09  7:13         ` Maxime Coquelin
  0 siblings, 0 replies; 14+ messages in thread
From: Maxime Coquelin @ 2017-10-09  7:13 UTC (permalink / raw)
  To: Yuanhan Liu, Thomas Monjalon; +Cc: Olivier MATZ, dev



On 10/09/2017 04:43 AM, Yuanhan Liu wrote:
> Olivier and Maxime, please confirm the following fixes.
> 
> Thanks.
> 
> 	--yliu
> 
> ---

> diff --git a/lib/librte_vhost/vhost_user.c b/lib/librte_vhost/vhost_user.c
> index f891f57..207fda5 100644
> --- a/lib/librte_vhost/vhost_user.c
> +++ b/lib/librte_vhost/vhost_user.c
> @@ -1352,7 +1352,7 @@ int vhost_user_iotlb_miss(struct virtio_net *dev, uint64_t iova, uint8_t perm)
>   {
>          int ret;
>          struct VhostUserMsg msg = {
> -               .request = VHOST_USER_SLAVE_IOTLB_MSG,
> +               .request = (enum VhostUserRequest)VHOST_USER_SLAVE_IOTLB_MSG,
>                  .flags = VHOST_USER_VERSION,
>                  .size = sizeof(msg.payload.iotlb),
>                  .payload.iotlb = {

Acked-by: Maxime Coquelin <maxime.coquelin@redhat.com>

Thanks!
Maxime

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [dpdk-dev] [git pull] virtio changes for 17.11-rc1
  2017-10-09  2:55   ` Yuanhan Liu
@ 2017-10-09  7:13     ` Maxime Coquelin
  0 siblings, 0 replies; 14+ messages in thread
From: Maxime Coquelin @ 2017-10-09  7:13 UTC (permalink / raw)
  To: Yuanhan Liu, Thomas Monjalon; +Cc: olivier.matz, dev



On 10/09/2017 04:55 AM, Yuanhan Liu wrote:
> On Sat, Oct 07, 2017 at 04:37:53PM +0200, Thomas Monjalon wrote:
>> 06/10/2017 08:45, Yuanhan Liu:
>>> Hi Thomas,
>>>
>>> Please consider pulling following virtio changes for 17.11-rc1 at
>>>      git://dpdk.org/next/dpdk-next-virtio    master
>>
>> There is a compilation error on ARM with
>> "net/virtio: rationalize setting of Rx/Tx handlers"
>> An include of rte_cpuflags.h is missing.
>>
>> There is also an error seen by clang in
>> "vhost-user: add support to IOTLB miss slave requests"
>> 	implicit conversion from enumeration type 'enum VhostUserSlaveRequest'
>> 	to different enumeration type 'VhostUserRequest'
>>
>> This last error may be a real issue because VHOST_USER_SLAVE_IOTLB_MSG in
>> VhostUserSlaveRequest can be understood as VHOST_USER_GET_FEATURES in
>> VhostUserRequest.
> 
> It won't be an issue, as the vhost-user frontend can distinguish it:
> the two different kind of messages are sent over by two different fd.

I agree this is not an issue.

Thanks,
Maxime

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [dpdk-dev] [git pull] virtio changes for 17.11-rc1
  2017-10-07 14:57   ` Thomas Monjalon
@ 2017-10-09  8:20     ` Maxime Coquelin
  0 siblings, 0 replies; 14+ messages in thread
From: Maxime Coquelin @ 2017-10-09  8:20 UTC (permalink / raw)
  To: Yuanhan Liu; +Cc: Thomas Monjalon, dev, olivier.matz

Hi Yuanhan,

On 10/07/2017 04:57 PM, Thomas Monjalon wrote:
> 07/10/2017 16:37, Thomas Monjalon:
>> 06/10/2017 08:45, Yuanhan Liu:
>>> Hi Thomas,
>>>
>>> Please consider pulling following virtio changes for 17.11-rc1 at
>>>      git://dpdk.org/next/dpdk-next-virtio    master
>>
>> There is a compilation error on ARM with
>> "net/virtio: rationalize setting of Rx/Tx handlers"
>> An include of rte_cpuflags.h is missing.
>>
>> There is also an error seen by clang in
>> "vhost-user: add support to IOTLB miss slave requests"
>> 	implicit conversion from enumeration type 'enum VhostUserSlaveRequest'
>> 	to different enumeration type 'VhostUserRequest'
>>
>> This last error may be a real issue because VHOST_USER_SLAVE_IOTLB_MSG in
>> VhostUserSlaveRequest can be understood as VHOST_USER_GET_FEATURES in
>> VhostUserRequest.
>>
>> Please advise
> 
> One more error with 32-bit compilation this time:
> "vhost: postpone device creation until ring are mapped"
> lib/librte_vhost/vhost.c:147:13: error:
> cast to pointer from integer of different size
> 
> Please work together to have a tree which can be compiled for
> ARM and x86, 32-bit or 64-bit, with gcc or clang.
> 

Sorry for the 32bits compilation failure, I'll add 32bits build to my
check script for next time.

Please find below the diff patch fixing these issues (build tested on
both 32/64b). I can send new version of the series if you prefer. Just
let me know.

Thanks,
Maxime

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

diff --git a/lib/librte_vhost/vhost.c b/lib/librte_vhost/vhost.c
index e1f75feca..cbccf2390 100644
--- a/lib/librte_vhost/vhost.c
+++ b/lib/librte_vhost/vhost.c
@@ -144,7 +144,7 @@ vring_translate(struct virtio_net *dev, struct 
vhost_virtqueue *vq)
                 goto out;

         size = sizeof(struct vring_desc) * vq->size;
-       vq->desc = (struct vring_desc *)vhost_iova_to_vva(dev, vq,
+       vq->desc = (struct vring_desc 
*)(uintptr_t)vhost_iova_to_vva(dev, vq,
 
vq->ring_addrs.desc_user_addr,
                                                 size, VHOST_ACCESS_RW);
         if (!vq->desc)
@@ -152,7 +152,7 @@ vring_translate(struct virtio_net *dev, struct 
vhost_virtqueue *vq)

         size = sizeof(struct vring_avail);
         size += sizeof(uint16_t) * vq->size;
-       vq->avail = (struct vring_avail *)vhost_iova_to_vva(dev, vq,
+       vq->avail = (struct vring_avail 
*)(uintptr_t)vhost_iova_to_vva(dev, vq,
 
vq->ring_addrs.avail_user_addr,
                                                 size, VHOST_ACCESS_RW);
         if (!vq->avail)
@@ -160,7 +160,7 @@ vring_translate(struct virtio_net *dev, struct 
vhost_virtqueue *vq)

         size = sizeof(struct vring_used);
         size += sizeof(struct vring_used_elem) * vq->size;
-       vq->used = (struct vring_used *)vhost_iova_to_vva(dev, vq,
+       vq->used = (struct vring_used 
*)(uintptr_t)vhost_iova_to_vva(dev, vq,
 
vq->ring_addrs.used_user_addr,
                                                 size, VHOST_ACCESS_RW);
         if (!vq->used)
diff --git a/lib/librte_vhost/vhost_user.c b/lib/librte_vhost/vhost_user.c
index 363e20245..a37e99d8f 100644
--- a/lib/librte_vhost/vhost_user.c
+++ b/lib/librte_vhost/vhost_user.c
@@ -1017,18 +1017,18 @@ is_vring_iotlb_invalidate(struct vhost_virtqueue 
*vq,
         istart = imsg->iova;
         iend = istart + imsg->size - 1;

-       vstart = (uint64_t)vq->desc;
+       vstart = (uintptr_t)vq->desc;
         vend = vstart + sizeof(struct vring_desc) * vq->size - 1;
         if (vstart <= iend && istart <= vend)
                 return 1;

-       vstart = (uint64_t)vq->avail;
+       vstart = (uintptr_t)vq->avail;
         vend = vstart + sizeof(struct vring_avail);
         vend += sizeof(uint16_t) * vq->size - 1;
         if (vstart <= iend && istart <= vend)
                 return 1;

-       vstart = (uint64_t)vq->used;
+       vstart = (uintptr_t)vq->used;
         vend = vstart + sizeof(struct vring_used);
         vend += sizeof(struct vring_used_elem) * vq->size - 1;
         if (vstart <= iend && istart <= vend)

^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2017-10-09  8:20 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-10-06  6:45 [dpdk-dev] [git pull] virtio changes for 17.11-rc1 Yuanhan Liu
2017-10-06  9:47 ` Thomas Monjalon
2017-10-06 10:50   ` Bruce Richardson
2017-10-06 12:04     ` Thomas Monjalon
2017-10-06 11:05   ` Yuanhan Liu
2017-10-07 14:37 ` Thomas Monjalon
2017-10-07 14:57   ` Thomas Monjalon
2017-10-09  8:20     ` Maxime Coquelin
2017-10-08 20:10   ` Olivier MATZ
2017-10-08 20:16     ` Thomas Monjalon
2017-10-09  2:43       ` Yuanhan Liu
2017-10-09  7:13         ` Maxime Coquelin
2017-10-09  2:55   ` Yuanhan Liu
2017-10-09  7:13     ` Maxime Coquelin

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).