>-------if (likely(nb_enqueued)) { >------->-------virtio_wmb(); >------->-------if (unlikely(virtqueue_kick_prepare(rxvq))) { >------->------->-------virtqueue_notify(rxvq); >------->------->-------PMD_RX_LOG(DEBUG, "Notified\n"); >------->-------} >-------} >-------vq_update_avail_idx(rxvq);
Two confuses for the modification here: 1. why notify host without updating avail idx? Will this cause potential deadlock? 2. Why update avail index even no packets are enqueued?