On 1/18/2022 4:39 AM, Kumara Parameshwaran wrote:
   static int
   tap_dev_start(struct rte_eth_dev *dev)
   {
        int err, i;
+     tap_mp_req_on_rxtx(dev);
+

As for as I understand your logic is primary sends the message to the 
secondar(y|ies),
so what happens first secondary is started?
​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.
if (!rte_eal_primary_proc_alive(NULL)) {
      TAP_LOG(ERR, "Primary process is missing");
       return -1;
}

What about secondary sends the message when they are started?
​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.

Also above functions is called by both primary and secondary, what happens when 
it is
called by secondary? And the logic is not clear, it can be good to add a 
process type
check to clarify.
​Sure, these are for tap_intr_handle_set and tap_dev_start functions?

I was thinking within the 'tap_dev_start()' function, for 
'tap_mp_req_on_rxtx()' call.

Not sure how 'tap_intr_handle_set()' is involved, am I missing something.

Reply via email to