[PATCH] net/iavf:fix slow memory allocation

David Marchand david.marchand at redhat.com
Tue Dec 20 11:33:07 CET 2022


On Tue, Dec 20, 2022 at 11:12 AM You, KaisenX <kaisenx.you at intel.com> wrote:
> > I tried to play a bit with a E810 nic on a dual numa and I can't see anything
> > wrong for now.
> > Can you provide a simple and small reproducer of your issue?
> >
> > Thanks.
> >
> This is my environment:
> Enter "lscpu" on the command line:
> NUMA:
>         NUMA node(s): 2
>         NUMA node0 CPU(S) : 0-27,56-83
>         NUMA node1 CPU(S) : 28-55,84-111
>
> List the steps to reproduce the issue:
>
> 1. create vf and blind to dpdk
> echo 1 > /sys/bus/pci/devices/0000\:ca\:00.0/sriov_ numvfs
> ./usertools/dpdk-devbind. py -b vfio-pci 0000:ca:01.0
> 2. launch testpmd
> ./x86_ 64-native-linuxapp-clang/app/dpdk-testpmd -l 28-48 -n 4 -a 0000:ca:01.0
> --file-prefix=dpdk_ 525342_ 20221104042659 -- -i --rxq=256 --txq=256
> --total-num-mbufs=500000
>
> Parameter Description:
>  "-l 28-48":The range of parameter values after "-l" must be on "NUMA node1 CPU(S)"
>  "0000:ca:01.0":inset on node1

- Using 256 queues is not supported upstream...
iavf_dev_configure(): large VF is not supported

I would really love that Intel stops building/testing features with
this out of tree driver........
We have lost and still lose so much time because of it.


- Back to your topic.
Can you try this simple hack:

diff --git a/lib/eal/common/eal_common_thread.c
b/lib/eal/common/eal_common_thread.c
index c5d8b4327d..92160c7fa6 100644
--- a/lib/eal/common/eal_common_thread.c
+++ b/lib/eal/common/eal_common_thread.c
@@ -253,6 +253,7 @@ static void *ctrl_thread_init(void *arg)
        void *routine_arg = params->arg;

        __rte_thread_init(rte_lcore_id(), cpuset);
+       RTE_PER_LCORE(_socket_id) = SOCKET_ID_ANY;
        params->ret = pthread_setaffinity_np(pthread_self(), sizeof(*cpuset),
                cpuset);
        if (params->ret != 0) {


-- 
David Marchand



More information about the stable mailing list