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 28EEAA00C5; Wed, 16 Feb 2022 09:45:21 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id A9A6F410F7; Wed, 16 Feb 2022 09:45:20 +0100 (CET) Received: from mail-il1-f180.google.com (mail-il1-f180.google.com [209.85.166.180]) by mails.dpdk.org (Postfix) with ESMTP id 4E3E34013F for ; Wed, 16 Feb 2022 09:45:18 +0100 (CET) Received: by mail-il1-f180.google.com with SMTP id f13so933216ilq.5 for ; Wed, 16 Feb 2022 00:45:18 -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=22hDcH3/yQlOXBfPrCrAFZXWJg+aWjW4RgT2pl/LTJA=; b=bS6HDRrTTbqiKVHixkNgQbfT0EIBYkJa+Uz4+cpd4AbozZJH8+wAaZp+tHOlaQPNVC LmZoRmhX5Cda7Aapjdt1RX5z6ww4RumY9Egzr5pi8J4XL/I6IHrvA3czQCaecNh720hJ qwbUD9CMBzB68uP+/xbGLm+ZgbX3Q4HP+Sldz6fdouYMsC/IQe5MfEwREEximMae/AB8 oWu2rRKay+M0L5CSvtKpR6D4d17AZPdic/G09wGXvXnxfp1UHmcy9kvDBf8MP37zIY6x aLKQhApZzAhnSSA+zZo6EgenLeXTFnrDW+Nh0U6Xrfo0Y4UbF4fGGqnRgOgvbvxwKvxf JPPg== 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=22hDcH3/yQlOXBfPrCrAFZXWJg+aWjW4RgT2pl/LTJA=; b=HHZz9iuU/goeI4QkE8zyBBbQC7UFu6MrdROsaNq0Q0Oy8Oc19vAAZ6akagIfHjzIln b34Y2YeFVN77pqWCgIItuWeZZPZEVFwrsUUCTCY8PNLuh4OLOdbafz78ZMST33kMmZZk 0Mw99+Xn2oOpcS6Guyad68sfveJn1mypkpAq4PalZLTPZ9D8Iu92V9RGRRI9fuBDJNj0 0XhxCZ0YUm34ImdXwliZZxcd5z+H6/vw7qT9vyTd/06r55iiV2vHf+KxkqqBHyLbAIEj X3RlO+s5hX4DqWFfokwknwYP9nJpZegKx2tTl0oUoB8U9uBod3arGH9IHDZcJB3m+xSd p23g== X-Gm-Message-State: AOAM530eFETs0JgVwTndYPLIASyzCJDM2Xa0vzY0n6LVOHX+kJjXSIYs 5XZj9pNH0XkuccYPWUui+oyFXfCuYZ3VTn2g5Yc= X-Google-Smtp-Source: ABdhPJyJvGogL4XDBOzDv4PnYbfM4C5PpwcQTPGWYorVLyIRgKLW4CWRzLgVIVoWA1JsS3ilhjlSGrz7Lhzr73GoiuU= X-Received: by 2002:a92:2603:0:b0:2bf:86bc:f860 with SMTP id n3-20020a922603000000b002bf86bcf860mr1175187ile.75.1645001117278; Wed, 16 Feb 2022 00:45:17 -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:14:49 +0530 Message-ID: Subject: Re: [PATCH v5] app/eventdev: add crypto producer mode To: "Gujjar, Abhinandan S" , Hemant Agrawal , Nipun Gupta 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 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