[dpdk-dev] [PATCH v9 0/2] Add VHOST PMD
Qiu, Michael
michael.qiu at intel.com
Thu Feb 25 08:51:22 CET 2016
On 2/24/2016 1:10 PM, Tetsuya Mukawa wrote:
> On 2016/02/24 11:45, Qiu, Michael wrote:
>> Hi, Tetsuya
>>
>> When I applied your v6 patch, I could reach 9.5Mpps with 64B packet.
>>
>> But when apply v9 only 8.4 Mpps, could you figure out why has
>> performance drop?
> Hi Michael,
>
> Thanks for checking it.
> I tried to re-produce it, but I don't see the drop on my environment.
> (My cpu is Xeon E5-2697-v2, and the performances of v6 and v9 patch are
> almost 5.9Mpps)
> Did you use totally same code except for vhost PMD?
Yes, totally same code and same platform, only difference is versions of
vhost PMD.
BTW, I have set the frontend mergeable off.
Thanks,
Michael
>
> Thanks,
> Tetsuya
>
>> Thanks,
>> Michael
>> On 2/9/2016 5:38 PM, Tetsuya Mukawa wrote:
>>> The patch introduces a new PMD. This PMD is implemented as thin wrapper
>>> of librte_vhost.
>>>
>>>
>>> PATCH v9 changes:
>>> - Fix a null pointer access issue implemented in v8 patch.
>>>
>>> PATCH v8 changes:
>>> - Manage ether devices list instead of internal structures list.
>>> - Remove needless NULL checking.
>>> - Replace "pthread_exit" to "return NULL".
>>> - Replace rte_panic to RTE_LOG, also add error handling.
>>> - Remove duplicated lines.
>>> - Remove needless casting.
>>> - Follow coding style.
>>> - Remove needless parenthesis.
>>>
>>> PATCH v7 changes:
>>> - Remove needless parenthesis.
>>> - Add release note.
>>> - Remove needless line wraps.
>>> - Add null pointer check in vring_state_changed().
>>> - Free queue memory in eth_queue_release().
>>> - Fix wrong variable name.
>>> - Fix error handling code of eth_dev_vhost_create() and
>>> rte_pmd_vhost_devuninit().
>>> - Remove needless null checking from rte_pmd_vhost_devinit/devuninit().
>>> - Use port id to create mac address.
>>> - Add doxygen style comments in "rte_eth_vhost.h".
>>> - Fix wrong comment in "mk/rte.app.mk".
>>>
>>> PATCH v6 changes:
>>> - Remove rte_vhost_driver_pmd_callback_registe().
>>> - Support link status interrupt.
>>> - Support queue state changed interrupt.
>>> - Add rte_eth_vhost_get_queue_event().
>>> - Support numa node detection when new device is connected.
>>>
>>> PATCH v5 changes:
>>> - Rebase on latest master.
>>> - Fix RX/TX routine to count RX/TX bytes.
>>> - Fix RX/TX routine not to count as error packets if enqueue/dequeue
>>> cannot send all packets.
>>> - Fix if-condition checking for multiqueues.
>>> - Add "static" to pthread variable.
>>> - Fix format.
>>> - Change default behavior not to receive queueing event from driver.
>>> - Split the patch to separate rte_eth_vhost_portid2vdev().
>>>
>>> PATCH v4 changes:
>>> - Rebase on latest DPDK tree.
>>> - Fix cording style.
>>> - Fix code not to invoke multiple messaging handling threads.
>>> - Fix code to handle vdev parameters correctly.
>>> - Remove needless cast.
>>> - Remove needless if-condition before rt_free().
>>>
>>> PATCH v3 changes:
>>> - Rebase on latest matser
>>> - Specify correct queue_id in RX/TX function.
>>>
>>> PATCH v2 changes:
>>> - Remove a below patch that fixes vhost library.
>>> The patch was applied as a separate patch.
>>> - vhost: fix crash with multiqueue enabled
>>> - Fix typos.
>>> (Thanks to Thomas, Monjalon)
>>> - Rebase on latest tree with above bernard's patches.
>>>
>>> PATCH v1 changes:
>>> - Support vhost multiple queues.
>>> - Rebase on "remove pci driver from vdevs".
>>> - Optimize RX/TX functions.
>>> - Fix resource leaks.
>>> - Fix compile issue.
>>> - Add patch to fix vhost library.
>>>
>>> RFC PATCH v3 changes:
>>> - Optimize performance.
>>> In RX/TX functions, change code to access only per core data.
>>> - Add below API to allow user to use vhost library APIs for a port managed
>>> by vhost PMD. There are a few limitations. See "rte_eth_vhost.h".
>>> - rte_eth_vhost_portid2vdev()
>>> To support this functionality, vhost library is also changed.
>>> Anyway, if users doesn't use vhost PMD, can fully use vhost library APIs.
>>> - Add code to support vhost multiple queues.
>>> Actually, multiple queues functionality is not enabled so far.
>>>
>>> RFC PATCH v2 changes:
>>> - Fix issues reported by checkpatch.pl
>>> (Thanks to Stephen Hemminger)
>>>
>>>
>>> Tetsuya Mukawa (2):
>>> ethdev: Add a new event type to notify a queue state changed event
>>> vhost: Add VHOST PMD
>>>
>>> MAINTAINERS | 4 +
>>> config/common_linuxapp | 6 +
>>> doc/guides/nics/index.rst | 1 +
>>> doc/guides/rel_notes/release_2_3.rst | 4 +
>>> drivers/net/Makefile | 4 +
>>> drivers/net/vhost/Makefile | 62 ++
>>> drivers/net/vhost/rte_eth_vhost.c | 911 ++++++++++++++++++++++++++++
>>> drivers/net/vhost/rte_eth_vhost.h | 109 ++++
>>> drivers/net/vhost/rte_pmd_vhost_version.map | 11 +
>>> lib/librte_ether/rte_ethdev.h | 2 +
>>> mk/rte.app.mk | 6 +
>>> 11 files changed, 1120 insertions(+)
>>> create mode 100644 drivers/net/vhost/Makefile
>>> create mode 100644 drivers/net/vhost/rte_eth_vhost.c
>>> create mode 100644 drivers/net/vhost/rte_eth_vhost.h
>>> create mode 100644 drivers/net/vhost/rte_pmd_vhost_version.map
>>>
>
More information about the dev
mailing list