[ovs-dev] [PATCH v3] dpif-netdev: Fix non-pmd thread queue id.

Gray, Mark D mark.d.gray at intel.com
Thu Jun 4 14:41:19 UTC 2015


> Subject: [PATCH v3] dpif-netdev: Fix non-pmd thread queue id.
> 
> Non pmd threads have a core_id == UINT32_MAX, while queue ids used by
> netdevs range from 0 to the number of CPUs.  Therefore core ids cannot be
> used directly to select a queue.
> 
> This commit introduces a simple mapping to fix the problem: pmd threads
> continue using queues 0 to N (where N is the number of CPUs in the
> system), while non pmd threads use queue N+1.
> 
> Fixes: d5c199ea7ff7 ("netdev-dpdk: Properly support non pmd threads.")
> 
> Reported-by: 차은호 <eunho.cha at atto-research.com
> Signed-off-by: Daniele Di Proietto <diproiettod at vmware.com>
> Signed-off-by: Mark D. Gray <mark.d.gray at intel.com>
> ---
> v2 -> v3:
> * Use different mapping, so there's no need to touch flushing, as suggested
>   by Mark.
> * Convert the core_id to the transmission queue id when the pmd thread is
>   created to save time in the fast path.

I couldn’t reproduce the bug and this change removes the performance degradation.



More information about the dev mailing list