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.