From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by dpdk.org (Postfix) with ESMTP id 50BF3235; Wed, 25 Jul 2018 18:16:02 +0200 (CEST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga002.jf.intel.com ([10.7.209.21]) by fmsmga106.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 25 Jul 2018 09:16:01 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.51,401,1526367600"; d="scan'208";a="77758406" Received: from irsmsx104.ger.corp.intel.com ([163.33.3.159]) by orsmga002.jf.intel.com with ESMTP; 25 Jul 2018 09:16:00 -0700 Received: from irsmsx155.ger.corp.intel.com (163.33.192.3) by IRSMSX104.ger.corp.intel.com (163.33.3.159) with Microsoft SMTP Server (TLS) id 14.3.319.2; Wed, 25 Jul 2018 17:15:59 +0100 Received: from irsmsx107.ger.corp.intel.com ([169.254.10.193]) by irsmsx155.ger.corp.intel.com ([169.254.14.181]) with mapi id 14.03.0319.002; Wed, 25 Jul 2018 17:15:59 +0100 From: "Dumitrescu, Cristian" To: Moti Haimovsky , "thomas@monjalon.net" CC: "Singh, Jasvinder" , "dev@dpdk.org" , "stable@dpdk.org" Thread-Topic: [dpdk-dev] [PATCH v3] app/testpmd: removed softnic CLI modifications Thread-Index: AQHUJCyAL8UgTpVjr0ivUB4Y4udl0KSgG0mQ Date: Wed, 25 Jul 2018 16:15:59 +0000 Message-ID: <3EB4FA525960D640B5BDFFD6A3D891268E77A9B6@IRSMSX107.ger.corp.intel.com> References: <1532529621-5171-1-git-send-email-motih@mellanox.com> <1532532609-16216-1-git-send-email-motih@mellanox.com> In-Reply-To: <1532532609-16216-1-git-send-email-motih@mellanox.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-version: 11.0.400.15 dlp-reaction: no-action x-originating-ip: [163.33.239.181] Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Subject: Re: [dpdk-stable] [dpdk-dev] [PATCH v3] app/testpmd: removed softnic CLI modifications X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 25 Jul 2018 16:16:04 -0000 > -----Original Message----- > From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Moti Haimovsky > Sent: Wednesday, July 25, 2018 4:30 PM > To: thomas@monjalon.net > Cc: Singh, Jasvinder ; dev@dpdk.org; > stable@dpdk.org; Moti Haimovsky > Subject: [dpdk-dev] [PATCH v3] app/testpmd: removed softnic CLI > modifications >=20 > This patch reverts the testpmd CLI prompt routine modifications done > in order to support softnic. > The reason of doing so is due to testpmd abnormal exit observed on > several setups caused by the softnic modifications to this routine, > for example: When running testpmd with tap interface > (/app/testpmd > -n 4 --vdev=3Dnet_tap0,iface=3Dtap0,remote=3Deth1 -- --burst=3D64 > --mbcache=3D512 -i --nb-cores=3D7 --rxq=3D2 --txq=3D2 --txd=3D512 > --rxd=3D512 --port-topology=3Dchained --forward-mode=3Drxonly) > testpmd crashes seconds after presenting its prompt with the following > error: > testpmd> PANIC in prompt(): > CLI poll error (-1) >=20 > Thread 1 "testpmd" received signal SIGABRT, Aborted. > 0x00007ffff668e0d0 in raise () from /lib64/libc.so.6 > (gdb) bt > #0 0x00007ffff668e0d0 in raise () from /lib64/libc.so.6 > #1 0x00007ffff668f6b1 in abort () from /lib64/libc.so.6 > #2 0x0000000000468027 in __rte_panic () > #3 0x00000000004876ed in prompt () > #4 0x000000000046dffc in main () >=20 > When running testpmd with bare-metal device > (app/testpmd -n 4 --socket-mem=3D1024,1024 -w 04:00.0 -- > --burst=3D64 --mbcache=3D512 -i --nb-cores=3D7 > --rxq=3D64 --txq=3D4 --txd=3D16 --rxd=3D16) > and pressing CTRL+D right after testpmd prompt is presented then > the program crashes while presenting the same messages as above. >=20 > Needless to say that this behavior is not observed when using the > previous CLI prompt routine. >=20 > Fixes: 0ad778b398c6 ("app/testpmd: rework softnic forward mode") > Cc: stable@dpdk.org >=20 > Signed-off-by: Moti Haimovsky > --- > v3: > * Removed unneeded include file. >=20 > v2: > * Removed softnic modifications altogether. >=20 > v1: > * Wrapped softnic modifications with compilation switch. > --- > app/test-pmd/cmdline.c | 42 ++---------------------------------------- > 1 file changed, 2 insertions(+), 40 deletions(-) >=20 > diff --git a/app/test-pmd/cmdline.c b/app/test-pmd/cmdline.c > index 2c32029..8708875 100644 > --- a/app/test-pmd/cmdline.c > +++ b/app/test-pmd/cmdline.c > @@ -69,9 +69,6 @@ > #ifdef RTE_LIBRTE_I40E_PMD > #include > #endif > -#ifdef RTE_LIBRTE_PMD_SOFTNIC > -#include > -#endif > #ifdef RTE_LIBRTE_BNXT_PMD > #include > #endif > @@ -17896,50 +17893,15 @@ struct > cmd_config_per_queue_tx_offload_result { > void > prompt(void) > { > - int status; > - > /* initialize non-constant commands */ > cmd_set_fwd_mode_init(); > cmd_set_fwd_retry_mode_init(); >=20 > -#if defined RTE_LIBRTE_PMD_SOFTNIC > - portid_t softnic_portid, pid; > - uint8_t softnic_enable =3D 0; > - > - if (strcmp(cur_fwd_eng->fwd_mode_name, "softnic") =3D=3D 0) { > - RTE_ETH_FOREACH_DEV(pid) { > - struct rte_port *port =3D &ports[pid]; > - const char *driver =3D port->dev_info.driver_name; > - > - if (strcmp(driver, "net_softnic") =3D=3D 0) { > - softnic_portid =3D pid; > - softnic_enable =3D 1; > - break; > - } > - } > - } > -#endif > - > testpmd_cl =3D cmdline_stdin_new(main_ctx, "testpmd> "); > if (testpmd_cl =3D=3D NULL) > return; > - > - for (;;) { > - status =3D cmdline_poll(testpmd_cl); > - if (status < 0) > - rte_panic("CLI poll error (%" PRId32 ")\n", status); > - else if (status =3D=3D RDLINE_EXITED) { > - cmdline_stdin_exit(testpmd_cl); > - rte_exit(0, "\n"); > - } > - > -#if defined RTE_LIBRTE_PMD_SOFTNIC > - > - if ((softnic_enable =3D=3D 1) && > - (strcmp(cur_fwd_eng->fwd_mode_name, "softnic") =3D=3D 0)) > - rte_pmd_softnic_manage(softnic_portid); > -#endif > - } > + cmdline_interact(testpmd_cl); > + cmdline_stdin_exit(testpmd_cl); > } >=20 > void > -- > 1.8.3.1 We could not reproduce this in our setup, but we'll give the benefit of the= doubt in favor of Moti, as we are running out of time for RC2. We are not fixing the real issue in cmdline library, but it is likely that = replacing cmdline_interactive() with cmdline_poll() might have more challen= ges difficult to predict. This revert prevents us from using test-pmd CLI to configure some Soft NCI = features such as the Traffic Manager, so we preparing a patch set to expose= some of these features though Soft NIC firmware scripts. Therefore, reluctantly, Acked-by: Cristian Dumitrescu