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