On 7/24/20 9:06 AM, Maxime Coquelin wrote:
> Hi Yinan,
>
> On 7/24/20 6:55 AM, Wang, Yinan wrote:
>> Hi Maxime,
>>
>> The performance drop issue can be fixed, thanks!
>> The multi-queues interrupt issue still exist w/ this patch set.
>
> Thanks for the test report, so that's only half good.
> I'm setting up the multi-queues interrupt test case to further debug it.
I have now a reproducer, i.e. only interrupts are received on rxq0.
(gdb) p *((struct internal_list *)internal_list)->eth_dev->intr_handle
$20 = {
{
vfio_dev_fd = 0,
uio_cfg_fd = 0
},
fd = 0,
type = RTE_INTR_HANDLE_VDEV,
max_intr = 2,
nb_efd = 1,
efd_counter_size = 8 '\b',
efds = {622, 621, 624, 626, 628, 630, 632, 634, 636, 638, 640, 642,
692, 646, 701, 650, 0 <repeats 496 times>},
elist = {{
status = 1,
fd = 622,
epfd = 645,
epdata = {
event = 2147483651,
data = 0x1,
cb_fun = 0x8af840 <eal_intr_proc_rxtx_intr>,
cb_arg = 0x7f4df0001580
}
}, {
status = 0,
fd = 0,
epfd = 0,
epdata = {
event = 0,
data = 0x0,
cb_fun = 0x0,
cb_arg = 0x0
}
} <repeats 511 times>},
intr_vec = 0x7f4df0007db0
}
In above dump, we can see the efds are well set via the fix provided by
Matan, but max_intr and nb_efd aren't so polling won't take them into
account.
I'm working on a fix.
Regards,
Maxime
> Regards,
> Maxime
>
>> BR,
>> Yinan
>>
>>> -----Original Message-----
>>> From: Maxime Coquelin <maxime.coque...@redhat.com>
>>> Sent: 2020?7?23? 21:09
>>> To: dev@dpdk.org; ma...@mellanox.com; Xia, Chenbo
>>> <chenbo....@intel.com>; Liu, Yong <yong....@intel.com>; Wang, Yinan
>>> <yinan.w...@intel.com>
>>> Cc: tho...@monjalon.net; Yigit, Ferruh <ferruh.yi...@intel.com>;
>>> david.march...@redhat.com; Maxime Coquelin
>>> <maxime.coque...@redhat.com>
>>> Subject: [PATCH 0/2] Fix vhost performance regression
>>>
>>> Hi,
>>>
>>> This series aims at fixing the performance degradation reported
>>> by Intel QE. I managed to reproduce the issue, and this series
>>> fixes it.
>>>
>>> I only tested the first test case provided in the Bz[0], but wanted
>>> to send early for Intel QE to try and confirm it solves the issue.
>>>
>>> I will work on reproducing the other test cases, and see if this
>>> also fixes them.
>>>
>>> Thanks to Intel QE team for finding this issue.
>>> Maxime
>>>
>>> [0]: https://bugs.dpdk.org/show_bug.cgi?id=507#c0
>>>
>>> Maxime Coquelin (2):
>>> vhost: fix guest notification setting
>>> net/vhost: fix queue update
>>>
>>> drivers/net/vhost/rte_eth_vhost.c | 25 ++++++-------------------
>>> lib/librte_vhost/vhost.c | 24 ++++++++++++++++++++----
>>> lib/librte_vhost/vhost.h | 5 +++++
>>> lib/librte_vhost/vhost_user.c | 11 ++++++++---
>>> 4 files changed, 39 insertions(+), 26 deletions(-)
>>>
>>> --
>>> 2.26.2
>>
>