diff mbox series

tailq: secondary process may not have all tailq available

Message ID 20210114071346.18235-1-hemant.agrawal@nxp.com (mailing list archive)
State New
Delegated to: David Marchand
Headers show
Series tailq: secondary process may not have all tailq available | expand

Checks

Context Check Description
ci/iol-testing success Testing PASS
ci/iol-abi-testing success Testing PASS
ci/intel-Testing success Testing PASS
ci/iol-intel-Performance success Performance Testing PASS
ci/iol-intel-Functional success Functional Testing PASS
ci/iol-broadcom-Functional success Functional Testing PASS
ci/Intel-compilation success Compilation OK
ci/checkpatch success coding style OK

Commit Message

Hemant Agrawal Jan. 14, 2021, 7:13 a.m. UTC
Secondary process may not have all the tailq available for
mapping, so better to ignore the error.

e.g. if the primary process is linked with N libs
and secondary process is linked with less number of libs.

dpdk-procinfo results into following error:
EAL: Cannot initialize tailq: VMBUS_RESOURCE_LIST

Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
---
 lib/librte_eal/common/eal_common_tailqs.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

Comments

David Marchand Jan. 14, 2021, 1:44 p.m. UTC | #1
On Thu, Jan 14, 2021 at 8:24 AM Hemant Agrawal <hemant.agrawal@nxp.com> wrote:
>
> Secondary process may not have all the tailq available for
> mapping, so better to ignore the error.
>
> e.g. if the primary process is linked with N libs
> and secondary process is linked with less number of libs.
>
> dpdk-procinfo results into following error:
> EAL: Cannot initialize tailq: VMBUS_RESOURCE_LIST

For dpdk-procinfo to complain about vmbus, it means the bus driver has
been loaded in the secondary, but not in the primary.
Is this what you intend to do?
Hemant Agrawal Jan. 18, 2021, 5:55 a.m. UTC | #2
On 1/14/2021 7:14 PM, David Marchand wrote:
> On Thu, Jan 14, 2021 at 8:24 AM Hemant Agrawal <hemant.agrawal@nxp.com> wrote:
>> Secondary process may not have all the tailq available for
>> mapping, so better to ignore the error.
>>
>> e.g. if the primary process is linked with N libs
>> and secondary process is linked with less number of libs.
>>
>> dpdk-procinfo results into following error:
>> EAL: Cannot initialize tailq: VMBUS_RESOURCE_LIST
> For dpdk-procinfo to complain about vmbus, it means the bus driver has
> been loaded in the secondary, but not in the primary.
> Is this what you intend to do?
>
Yes.

Typically the customer applications are built/linked with only limited  
number of bus, devices

dpdk-procinfo is getting compiled with default list as part of dpdk 
build. so, if customer is trying to use the default dpdk-procinfo with 
their application - there will be differences.
diff mbox series

Patch

diff --git a/lib/librte_eal/common/eal_common_tailqs.c b/lib/librte_eal/common/eal_common_tailqs.c
index ead06897b8..55bfc70db4 100644
--- a/lib/librte_eal/common/eal_common_tailqs.c
+++ b/lib/librte_eal/common/eal_common_tailqs.c
@@ -155,7 +155,8 @@  rte_eal_tailqs_init(void)
 		/* second part of register job for "early" tailqs, see
 		 * rte_eal_tailq_register and EAL_REGISTER_TAILQ */
 		rte_eal_tailq_update(t);
-		if (t->head == NULL) {
+		if (t->head == NULL &&
+			rte_eal_process_type() == RTE_PROC_PRIMARY) {
 			RTE_LOG(ERR, EAL,
 				"Cannot initialize tailq: %s\n", t->name);
 			/* TAILQ_REMOVE not needed, error is already fatal */