Re: [dpdk-dev] [PATCH v2 4/8] emu/iavf: add vfio-user device register and unregister
From: Xia, Chenbo <hidden>
Date: 2021-01-06 07:42:04
Hi Jingjing,
-----Original Message----- From: Wu, Jingjing <redacted> Sent: Tuesday, January 5, 2021 9:42 PM To: Xia, Chenbo <redacted>; dev@dpdk.org; thomas@monjalon.net; david.marchand@redhat.com Cc: stephen@networkplumber.org; Liang, Cunming <redacted>; Lu, Xiuchun [off-list ref]; Li, Miao [off-list ref] Subject: RE: [PATCH v2 4/8] emu/iavf: add vfio-user device register and unregisterquoted
+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.
Correct! Will fix this in next version. Thanks! Chenbo
quoted
+ 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; +}