[1/2] event/octeontx2: remove selftest from dev args

Message ID 20201119122336.5079-1-pbhagavatula@marvell.com (mailing list archive)
State Superseded, archived
Delegated to: Jerin Jacob
Headers
Series [1/2] event/octeontx2: remove selftest from dev args |

Checks

Context Check Description
ci/checkpatch success coding style OK

Commit Message

Pavan Nikhilesh Bhagavatula Nov. 19, 2020, 12:23 p.m. UTC
  From: Pavan Nikhilesh <pbhagavatula@marvell.com>

Since selftest now depends on dynamic mbuf fields it is not
feasible to run selftest on device probe.

Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
---
 drivers/event/octeontx2/otx2_evdev.c | 8 --------
 drivers/event/octeontx2/otx2_evdev.h | 1 -
 2 files changed, 9 deletions(-)
  

Comments

David Marchand Nov. 19, 2020, 1:15 p.m. UTC | #1
On Thu, Nov 19, 2020 at 1:24 PM <pbhagavatula@marvell.com> wrote:
>
> From: Pavan Nikhilesh <pbhagavatula@marvell.com>
>
> Since selftest now depends on dynamic mbuf fields it is not
> feasible to run selftest on device probe.

Indeed, this is something that I missed with the seqn rework.
Can't you call rte_event_dev_selftest() from within the pmd?
  
Pavan Nikhilesh Bhagavatula Nov. 19, 2020, 1:30 p.m. UTC | #2
>On Thu, Nov 19, 2020 at 1:24 PM <pbhagavatula@marvell.com> wrote:
>>
>> From: Pavan Nikhilesh <pbhagavatula@marvell.com>
>>
>> Since selftest now depends on dynamic mbuf fields it is not
>> feasible to run selftest on device probe.
>
>Indeed, this is something that I missed with the seqn rework.
>Can't you call rte_event_dev_selftest() from within the pmd?
>

We can but generally selftest is run as a safety net before an 
custom application runs but now since selftest uses dynamic 
mbuf fields the custom application would be starved of that 
field since there is no way to unregister it.

Regards,
Pavan.
>
>--
>David Marchand
  
David Marchand Nov. 19, 2020, 1:36 p.m. UTC | #3
On Thu, Nov 19, 2020 at 2:31 PM Pavan Nikhilesh Bhagavatula
<pbhagavatula@marvell.com> wrote:
> We can but generally selftest is run as a safety net before an
> custom application runs but now since selftest uses dynamic
> mbuf fields the custom application would be starved of that
> field since there is no way to unregister it.

Then please update the documentation accordingly.
doc/guides/eventdevs/octeontx.rst:    --vdev="event_octeontx,selftest=1"
doc/guides/eventdevs/octeontx2.rst:    -a 0002:0e:00.0,selftest=1
  
Pavan Nikhilesh Bhagavatula Nov. 19, 2020, 1:45 p.m. UTC | #4
>
>On Thu, Nov 19, 2020 at 2:31 PM Pavan Nikhilesh Bhagavatula
><pbhagavatula@marvell.com> wrote:
>> We can but generally selftest is run as a safety net before an
>> custom application runs but now since selftest uses dynamic
>> mbuf fields the custom application would be starved of that
>> field since there is no way to unregister it.
>
>Then please update the documentation accordingly.
>doc/guides/eventdevs/octeontx.rst:    --
>vdev="event_octeontx,selftest=1"
>doc/guides/eventdevs/octeontx2.rst:    -a 0002:0e:00.0,selftest=1
>

Ah! Yes, forgot about docs will send v2.

Thanks,
Pavan.

>
>--
>David Marchand
  

Patch

diff --git a/drivers/event/octeontx2/otx2_evdev.c b/drivers/event/octeontx2/otx2_evdev.c
index b31c26e95..c1a5916cd 100644
--- a/drivers/event/octeontx2/otx2_evdev.c
+++ b/drivers/event/octeontx2/otx2_evdev.c
@@ -1606,7 +1606,6 @@  static struct rte_eventdev_ops otx2_sso_ops = {
 #define OTX2_SSO_XAE_CNT	"xae_cnt"
 #define OTX2_SSO_SINGLE_WS	"single_ws"
 #define OTX2_SSO_GGRP_QOS	"qos"
-#define OTX2_SSO_SELFTEST	"selftest"
 
 static void
 parse_queue_param(char *value, void *opaque)
@@ -1696,8 +1695,6 @@  sso_parse_devargs(struct otx2_sso_evdev *dev, struct rte_devargs *devargs)
 	if (kvlist == NULL)
 		return;
 
-	rte_kvargs_process(kvlist, OTX2_SSO_SELFTEST, &parse_kvargs_flag,
-			   &dev->selftest);
 	rte_kvargs_process(kvlist, OTX2_SSO_XAE_CNT, &parse_kvargs_value,
 			   &dev->xae_cnt);
 	rte_kvargs_process(kvlist, OTX2_SSO_SINGLE_WS, &parse_kvargs_flag,
@@ -1813,10 +1810,6 @@  otx2_sso_init(struct rte_eventdev *event_dev)
 	otx2_sso_dbg("Initializing %s max_queues=%d max_ports=%d",
 		     event_dev->data->name, dev->max_event_queues,
 		     dev->max_event_ports);
-	if (dev->selftest) {
-		event_dev->dev->driver = &pci_sso.driver;
-		event_dev->dev_ops->dev_selftest();
-	}
 
 	otx2_tim_init(pci_dev, (struct otx2_dev *)dev);
 
@@ -1866,5 +1859,4 @@  RTE_PMD_REGISTER_KMOD_DEP(event_octeontx2, "vfio-pci");
 RTE_PMD_REGISTER_PARAM_STRING(event_octeontx2, OTX2_SSO_XAE_CNT "=<int>"
 			      OTX2_SSO_SINGLE_WS "=1"
 			      OTX2_SSO_GGRP_QOS "=<string>"
-			      OTX2_SSO_SELFTEST "=1"
 			      OTX2_NPA_LOCK_MASK "=<1-65535>");
diff --git a/drivers/event/octeontx2/otx2_evdev.h b/drivers/event/octeontx2/otx2_evdev.h
index 547e29d4a..210ee89f1 100644
--- a/drivers/event/octeontx2/otx2_evdev.h
+++ b/drivers/event/octeontx2/otx2_evdev.h
@@ -147,7 +147,6 @@  struct otx2_sso_evdev {
 	uint64_t *timer_adptr_sz;
 	/* Dev args */
 	uint8_t dual_ws;
-	uint8_t selftest;
 	uint32_t xae_cnt;
 	uint8_t qos_queue_cnt;
 	struct otx2_sso_qos *qos_parse_data;