<div dir="ltr"><div>Yes, even I was confused if it  had been the tap_intr_handle_set function. <br></div><div><br></div><div>In general the tap_dev_start should not be invoked by the secondary and only primary should do it. I referred it to a couple of PMDs and that was the case. Please let me know if I am missing something in my understanding.</div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Jan 18, 2022 at 2:40 PM Ferruh Yigit <<a href="mailto:ferruh.yigit@intel.com">ferruh.yigit@intel.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On 1/18/2022 4:39 AM, Kumara Parameshwaran wrote:<br>
>>   static int<br>
>>   tap_dev_start(struct rte_eth_dev *dev)<br>
>>   {<br>
>>        int err, i;<br>
>>   <br>
>> +     tap_mp_req_on_rxtx(dev);<br>
>> +<br>
> <br>
> As for as I understand your logic is primary sends the message to the secondar(y|ies),<br>
> so what happens first secondary is started?<br>
> ​In case of TAP PMD looks like there is an assumption where primary should be started first. There is an existing check below during the probe function call.<br>
> if (!rte_eal_primary_proc_alive(NULL)) {<br>
>       TAP_LOG(ERR, "Primary process is missing");<br>
>        return -1;<br>
> }<br>
> <br>
> What about secondary sends the message when they are started?<br>
> ​IMHO, since primary process setups the queue it should be sufficient for the primary processes to the send the message and secondary need not send anything.<br>
> <br>
> Also above functions is called by both primary and secondary, what happens when it is<br>
> called by secondary? And the logic is not clear, it can be good to add a process type<br>
> check to clarify.<br>
> ​Sure, these are for tap_intr_handle_set and tap_dev_start functions?<br>
<br>
I was thinking within the 'tap_dev_start()' function, for 'tap_mp_req_on_rxtx()' call.<br>
<br>
Not sure how 'tap_intr_handle_set()' is involved, am I missing something.<br>
</blockquote></div>