Re: [dpdk-dev] [PATCH v2 4/8] emu/iavf: add vfio-user device register and unregister
From: Wu, Jingjing <hidden>
Date: 2021-01-05 13:42:06
From: Wu, Jingjing <hidden>
Date: 2021-01-05 13:42:06
+static int iavf_emu_update_status(int vfio_dev_id) {
+ struct iavf_emudev *dev;
+ int ret;
+
+ dev = find_iavf_with_dev_id(vfio_dev_id);
+ if (!dev)
+ return -1;
+
+ ret = iavf_emu_setup_mem_table(dev);
+ if (ret) {
+ EMU_IAVF_LOG(ERR, "Failed to set up memtable for "
+ "device %d", dev->vfio->dev_id);
+ return ret;
+ }
+
+ ret = iavf_emu_setup_irq(dev);In update callback, irq fds will be reinitialized here. Think about if the update happening during mailbox communication, the eventfd of mailbox will be cleared without notify.
+ if (ret) {
+ EMU_IAVF_LOG(ERR, "Failed to set up irq for "
+ "device %d", dev->vfio->dev_id);
+ return ret;
+ }
+
+ dev->ops->update_status(dev->edev);
+
+ return 0;
+}