DPDK patches and discussions
 help / color / mirror / Atom feed
From: Jerin Jacob <jerinjacobk@gmail.com>
To: "Gujjar, Abhinandan S" <abhinandan.gujjar@intel.com>,
	Hemant Agrawal <hemant.agrawal@nxp.com>,
	Nipun Gupta <nipun.gupta@nxp.com>
Cc: Shijith Thotton <sthotton@marvell.com>,
	Jerin Jacob Kollanukkaran <jerinj@marvell.com>,
	 "dev@dpdk.org" <dev@dpdk.org>
Subject: Re: [PATCH v5] app/eventdev: add crypto producer mode
Date: Wed, 16 Feb 2022 14:14:49 +0530	[thread overview]
Message-ID: <CALBAE1Ny-Vw=P5RYZhWaYcWF0JSjKoeDziy=9Xv6Ja7q50ZtAg@mail.gmail.com> (raw)
In-Reply-To: <PH0PR11MB48240C32E964F130340359A1E8359@PH0PR11MB4824.namprd11.prod.outlook.com>

On Wed, Feb 16, 2022 at 1:19 PM Gujjar, Abhinandan S
<abhinandan.gujjar@intel.com> wrote:
>
> Hi Shijith,
>
> > -----Original Message-----
> > From: Shijith Thotton <sthotton@marvell.com>
> > Sent: Wednesday, February 16, 2022 12:39 PM
> > To: Gujjar, Abhinandan S <abhinandan.gujjar@intel.com>
> > Cc: Jerin Jacob Kollanukkaran <jerinj@marvell.com>; 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 <EVENTDEV> -w <CRYPTODEV> -- \
> > >>   --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
<rte_event_devices>) at ../drivers/event/sw/sw_evdev_scheduler.c:538
#5  0x0000555557b2edf3 in sw_sched_service_func (args=0x5555586b3f80
<rte_event_devices>) 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=<optimized out>) 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

  reply	other threads:[~2022-02-16  8:45 UTC|newest]

Thread overview: 43+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-12-20 19:53 [PATCH] " Shijith Thotton
2021-12-21  8:51 ` [PATCH v2] " Shijith Thotton
2021-12-30 11:56   ` Gujjar, Abhinandan S
2022-01-03  6:04     ` Shijith Thotton
2022-01-03  8:46       ` Gujjar, Abhinandan S
2022-01-03  9:14         ` Shijith Thotton
2022-01-04 15:28           ` Aaron Conole
2022-01-04 15:49             ` [EXT] " Shijith Thotton
2022-01-04 10:30   ` [PATCH v3] " Shijith Thotton
2022-01-21 12:25     ` Jerin Jacob
2022-01-23 16:56       ` Gujjar, Abhinandan S
2022-01-23 18:44     ` Gujjar, Abhinandan S
2022-01-24  6:09       ` Shijith Thotton
2022-01-24  6:59       ` Shijith Thotton
2022-01-25 14:15         ` Gujjar, Abhinandan S
2022-01-25 13:39       ` Gujjar, Abhinandan S
2022-02-08 17:00         ` Shijith Thotton
2022-02-14 15:26           ` Jerin Jacob
2022-02-14 15:31             ` Gujjar, Abhinandan S
2022-02-08 16:33     ` [PATCH v4] " Shijith Thotton
2022-02-15  6:03       ` Gujjar, Abhinandan S
2022-02-15 16:08         ` Shijith Thotton
2022-02-15 16:46           ` Gujjar, Abhinandan S
2022-02-15 16:56       ` [PATCH v5] " Shijith Thotton
2022-02-16  4:47         ` Gujjar, Abhinandan S
2022-02-16  7:08           ` Shijith Thotton
2022-02-16  7:49             ` Gujjar, Abhinandan S
2022-02-16  8:44               ` Jerin Jacob [this message]
2022-02-16  8:54                 ` Jerin Jacob
2022-02-17  5:33                   ` Gujjar, Abhinandan S
2022-02-21 13:10                     ` Van Haaren, Harry
2022-02-22  7:03                       ` Shijith Thotton
2022-02-23  9:02                         ` Gujjar, Abhinandan S
2022-02-23 10:02                           ` Shijith Thotton
2022-02-23 10:13                             ` Van Haaren, Harry
2022-02-23 16:33                               ` Gujjar, Abhinandan S
2022-02-23 17:02                                 ` Shijith Thotton
2022-02-17  6:56         ` [EXT] " Akhil Goyal
2022-02-18 12:00           ` Shijith Thotton
2022-02-18 12:11         ` [PATCH v6] " Shijith Thotton
2022-02-24  4:46           ` [PATCH v7] " Shijith Thotton
2022-02-24  6:18             ` Gujjar, Abhinandan S
2022-02-24  7:58               ` Jerin Jacob

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CALBAE1Ny-Vw=P5RYZhWaYcWF0JSjKoeDziy=9Xv6Ja7q50ZtAg@mail.gmail.com' \
    --to=jerinjacobk@gmail.com \
    --cc=abhinandan.gujjar@intel.com \
    --cc=dev@dpdk.org \
    --cc=hemant.agrawal@nxp.com \
    --cc=jerinj@marvell.com \
    --cc=nipun.gupta@nxp.com \
    --cc=sthotton@marvell.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).