> From: Jason Gunthorpe <jgg@xxxxxxxxxx> > Sent: Wednesday, January 26, 2022 9:36 AM > > On Wed, Jan 26, 2022 at 01:17:26AM +0000, Tian, Kevin wrote: > > > Yes. We have internal implementation but it has to be cleaned up > > based on this new proposal. > > Can you talk more about what this will be? > > Does it use precopy? > > Can it do NDMA? > Current implementation is more like a hack. No precopy as the state of that device is small. It simply switches the order of stopping vcpu and clearing the device RUNNING bit. In existing migration protocol DMA is stopped when the RUNNING bit is cleared. As long as vCPU is running all PRIs generated when draining in-fly requests can be completed. That prototype doesn't consider hostile guest or P2P deadlock. With the new state machine this can be addressed by a general NDMA state (with vCPU running) plus a timeout mechanism. Thanks Kevin