From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id CB0B3A00C5; Wed, 16 Feb 2022 09:55:16 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 5F241410FB; Wed, 16 Feb 2022 09:55:16 +0100 (CET) Received: from mail-io1-f42.google.com (mail-io1-f42.google.com [209.85.166.42]) by mails.dpdk.org (Postfix) with ESMTP id A4E32410F7 for ; Wed, 16 Feb 2022 09:55:14 +0100 (CET) Received: by mail-io1-f42.google.com with SMTP id t6so1424158ioj.12 for ; Wed, 16 Feb 2022 00:55:14 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=p6m2ZWWw90R5GHSjRflFW6lJqI03hLWOJRUjhaI7pg4=; b=gEWqr6mEaOIq0N0am5kCzsTvfq7L+nhx99JQfQxAlGr4t6yUS8uGGCuOEHcoY4TdJ8 i/srUeqzRwgmFasXWhl0GMxoGnyWTjHLiiUlE5in92cIO/4rnyNR6FuDCoc/zIDcDlZW s1+KsNW+KPbVonzBmFwsPwkMhrdBoHuSHZdEPvLu0UOTOIUUw6LExfToqcrOnCOq5Y60 +XgaKZw9142nfmiDvWdBmt9NBNRKeDBMsNKKV7CpbNt7LGcXUnIY1TLLENrS2mgAWikm mgA68xxs8oYobfexsNTOv7wv+aoOAHLdx+Vg+C4G1uZH7bK+nyxMSVWrY6ipVvteFYLG uBTA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=p6m2ZWWw90R5GHSjRflFW6lJqI03hLWOJRUjhaI7pg4=; b=sq0Ad+GqWg6Ylr8rX9d7A3YMiQnlwPFbDICzbC6cIy1wgGlmFp32pL64ctntCyBFn+ sDtbUExrrZhnI/DVds37vCehl2tFR78+EaeSnhd09kl7W0f1S5+orr3nruMmwn+uT1cN 4Em2b+3gr/0r/ngRsXTJczQIBDmymHkaRe8R3GoXhXYu8xxv+JpUAw/1guD4i+TC4JEF 4i9qZh3dPN6H8gqXzaO/WZYhD5oCHfZ8P81Wo7tjPMPNDPR+pJt4utv97P0FA3eLAIZv lPDVfAiH66PX/yAtIlXCjc32nmV/rXHRseyRvVhXOm93xVA5iU5T6Fcui2PfymsN7eIJ n9GA== X-Gm-Message-State: AOAM532xkEAKKaA5SmBavGrtXLamuVuocoILcQNVnA+hZWbPfnqmmO64 uwznZq29XWXYL3zk8EE2v3XHUaflymR7Q249he8= X-Google-Smtp-Source: ABdhPJx7KzpwZJSXWYcR6KMHKbpzUe6W73gcKy1kx4/LTjLrpjpFLLw5fob9/E4OI38Ypz6LBi3bSAtSzftAcTSwA0I= X-Received: by 2002:a05:6638:584:b0:311:9d1c:64b with SMTP id a4-20020a056638058400b003119d1c064bmr1134397jar.158.1645001713869; Wed, 16 Feb 2022 00:55:13 -0800 (PST) MIME-Version: 1.0 References: <74c3a3fcfb79b7f64588c62ca7c92502739365d0.1644337305.git.sthotton@marvell.com> In-Reply-To: From: Jerin Jacob Date: Wed, 16 Feb 2022 14:24:47 +0530 Message-ID: Subject: Re: [PATCH v5] app/eventdev: add crypto producer mode To: "Gujjar, Abhinandan S" , Hemant Agrawal , Nipun Gupta , "Van Haaren, Harry" Cc: Shijith Thotton , Jerin Jacob Kollanukkaran , "dev@dpdk.org" Content-Type: text/plain; charset="UTF-8" X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org + @Van Haaren, Harry On Wed, Feb 16, 2022 at 2:14 PM Jerin Jacob wrote: > > On Wed, Feb 16, 2022 at 1:19 PM Gujjar, Abhinandan S > wrote: > > > > Hi Shijith, > > > > > -----Original Message----- > > > From: Shijith Thotton > > > Sent: Wednesday, February 16, 2022 12:39 PM > > > To: Gujjar, Abhinandan S > > > Cc: Jerin Jacob Kollanukkaran ; dev@dpdk.org > > > Subject: RE: [PATCH v5] app/eventdev: add crypto producer mode > > > > > > >> > > > >> In crypto producer mode, producer core enqueues cryptodev with > > > >> software generated crypto ops and worker core dequeues crypto > > > >> completion events from the eventdev. Event crypto metadata used for > > > >> above processing is pre- populated in each crypto session. > > > >> > > > >> Parameter --prod_type_cryptodev can be used to enable crypto producer > > > >> mode. Parameter --crypto_adptr_mode can be set to select the crypto > > > >> adapter mode, 0 for OP_NEW and 1 for OP_FORWARD. > > > >> > > > >> This mode can be used to measure the performance of crypto adapter. > > > >> > > > >> Example: > > > >> ./dpdk-test-eventdev -l 0-2 -w -w -- \ > > > >> --prod_type_cryptodev --crypto_adptr_mode 1 --test=perf_atq \ > > > >> --stlist=a --wlcores 1 --plcores 2 > > > >> > > > >I still see error with both OP_NEW and OP_FORWARD mode. Can't run the > > > test. > > > >root@xdp-dev:/home/intel/abhi/dpdk-next-eventdev/abhi# ./app/dpdk- > > > test- > > > >eventdev -l 0-8 -s 0xf0 --vdev=event_sw0 --vdev="crypto_null" -- -- > > > >prod_type_cryptodev --crypto_adptr_mode 1 --test=perf_queue --stlist=a > > > >-- wlcores 1 --plcores 2 > > > >EAL: Detected CPU lcores: 96 > > > >EAL: Detected NUMA nodes: 2 > > > >EAL: Detected static linkage of DPDK > > > >EAL: Multi-process socket /var/run/dpdk/rte/mp_socket > > > >EAL: Selected IOVA mode 'PA' > > > >EAL: VFIO support initialized > > > >CRYPTODEV: Creating cryptodev crypto_null > > > > > > > >CRYPTODEV: Initialisation parameters - name: crypto_null,socket id: 0, > > > >max queue > > > >pairs: 8 > > > >TELEMETRY: No legacy callbacks, legacy socket not created > > > > driver : event_sw > > > > test : perf_queue > > > > dev : 0 > > > > verbose_level : 1 > > > > socket_id : -1 > > > > pool_sz : 16384 > > > > main lcore : 0 > > > > nb_pkts : 67108864 > > > > nb_timers : 100000000 > > > > available lcores : {0 1 2 3 8} > > > > nb_flows : 1024 > > > > worker deq depth : 16 > > > > fwd_latency : false > > > > nb_prod_lcores : 1 > > > > producer lcores : {2} > > > > nb_worker_lcores : 1 > > > > worker lcores : {1} > > > > nb_stages : 1 > > > > nb_evdev_ports : 2 > > > > nb_evdev_queues : 1 > > > > queue_priority : false > > > > sched_type_list : {A} > > > > crypto adapter mode : OP_FORWARD > > > > nb_cryptodev : 1 > > > > prod_type : Event crypto adapter producers > > > > prod_enq_burst_sz : 1 > > > >CRYPTODEV: elt_size 0 is expanded to 208 > > > > > > > >error: perf_event_crypto_adapter_setup() crypto adapter OP_FORWARD > > > mode > > > >unsupported > > > > > > > >error: main() perf_queue: eventdev setup failed > > > > > > > > > > No change from previous version. > > > Apply the patch "[RFC] app/eventdev: add software crypto adapter support" > > > for using SW. > > I see. Please send out next patchset once you have fix. > > + @Van Haaren, Harry (Software Eventdev PMD maintainer), > + @Hemant Agrawal @Nipun Gupta (NXP PMD) > > Summarizing the current situation to make forward progress > 1) This patch adds support for crypto adapter producers to test the performance. > 2) This application change is verified with cnxk PMD. > 3) When testing with SW driver there is a crash is observed, SW PMD. > See [1] for more details. > > Next steps: > 1) Generally application changes won't wait for other all drivers to > pass if there issue with the driver. > In this case, there is a crash in SW PMD. > 2) @Gujjar, Abhinandan S Please review the application code, Let me > know if there is an issue with > the application code as comments. We can wait up to rc2 time for > merging this patch. > 3) Once SW PMD issue fixes based on @Van Haaren, Harry 's bandwidth > and we can merge > "[RFC] app/eventdev: add software crypto adapter support" so that > there is no crash from > testeventdev. > 4) @Hemant Agrawal @Nipun Gupta Please check the NXP driver if there > is interest in this feature. > > > > [1] > Steps to reproduce: > * Clone http://dpdk.org/git/next/dpdk-next-eventdev > * Apply [v5] app/eventdev: add crypto producer mode > git-pw --server https://patches.dpdk.org/api/1.2/ --project dpdk > patch apply 107645 > * Apply [RFC] app/eventdev: add software crypto adapter support > git-pw --server https://patches.dpdk.org/api/1.2/ --project dpdk > patch apply 107029 > * meson x86_build_debug -Dc_args='-g -O0' -Ddisable_drivers="*/cnxk" > * ninja -C x86_build_debug > * Command to reproduce crash > sudo ./x86_build_debug/app/dpdk-test-eventdev -l 0-8 -s 0xf0 > --vdev=event_sw0 --vdev="crypto_null" -- --prod_type_cryptodev > --crypto_adptr_mode 0 --test=perf_queue --stlist=a --wlcores 1 > --plcores 2 > > Crash log: > Thread 10 "lcore-worker-7" received signal SIGSEGV, Segmentation fault. > [Switching to Thread 0x7ffff3767400 (LWP 1342606)] > 0x0000555557b02b3c in iq_alloc_chunk (sw=0x10057c4c0) at > ../drivers/event/sw/iq_chunk.h:35 > 35 sw->chunk_list_head = chunk->next; > (gdb) bt > #0 0x0000555557b02b3c in iq_alloc_chunk (sw=0x10057c4c0) at > ../drivers/event/sw/iq_chunk.h:35 > #1 iq_enqueue (ev=0x1005af9b0, iq=0x1009e25b8, sw=0x10057c4c0) at > ../drivers/event/sw/iq_chunk.h:79 > #2 __pull_port_lb (allow_reorder=0, port_id=2, sw=0x10057c4c0) at > ../drivers/event/sw/sw_evdev_scheduler.c:443 > #3 sw_schedule_pull_port_no_reorder (sw=0x10057c4c0, port_id=2) at > ../drivers/event/sw/sw_evdev_scheduler.c:466 > #4 0x0000555557b06e81 in sw_event_schedule (dev=0x5555586b3f80 > ) at ../drivers/event/sw/sw_evdev_scheduler.c:538 > #5 0x0000555557b2edf3 in sw_sched_service_func (args=0x5555586b3f80 > ) at ../drivers/event/sw/sw_evdev.c:938 > #6 0x0000555555b4f039 in service_runner_do_callback (s=0x1003fe000, > cs=0x1003eb100, service_idx=0) at ../lib/eal/common/rte_service.c:376 > #7 0x0000555555b4f107 in service_run (i=0, cs=0x1003eb100, > service_mask=1, s=0x1003fe000, serialize_mt_unsafe=1) at > ../lib/eal/common/rte_service.c:407 > #8 0x0000555555b4f366 in service_runner_func (arg=0x0) at > ../lib/eal/common/rte_service.c:475 > #9 0x0000555555b6de0d in eal_thread_loop (arg=0x0) at > ../lib/eal/linux/eal_thread.c:146 > #10 0x00007ffff7a0f609 in start_thread (arg=) at > pthread_create.c:477 > #11 0x00007ffff7936293 in clone () at > ../sysdeps/unix/sysv/linux/x86_64/clone.S:95 > (gdb) list > 30 > 31 static __rte_always_inline struct sw_queue_chunk * > 32 iq_alloc_chunk(struct sw_evdev *sw) > 33 { > 34 struct sw_queue_chunk *chunk = sw->chunk_list_head; > 35 sw->chunk_list_head = chunk->next; > 36 chunk->next = NULL; > 37 return chunk; > 38 } > 39 > (gdb) p chunk > $3 = (struct sw_queue_chunk *) 0x0 > > > > > > > Thanks, > > Abhinandan