On Wed, Oct 14, 2015 at 12:16:29AM +0300, Michael S. Tsirkin wrote: > Hello! > I am currently looking at how using dpdk on host, accessing VM memory > using the vhost-user interface, interacts with VM migration. > > The issue is that any changes made to VM memory need to be tracked so > that updates can be sent from migration source to destination. > > At the moment, there's a proposal of an interface extension to > vhost-user which adds ability to do this tracking through shared memory. > dpdk would then be responsible for tracking these updates using atomic > operations to set bits (per page written) in a memory bitmap. > > This only needs to happen during migration, at other times there could > be a jump to skip this logging. > > Is this a reasonable approach?
Hi Michael, As I stated in another email, adding dpdk/vhost-user vm migration support is my second TODO. However, I barely know anything about vm migration so far, that I can't tell now. I will re-visit this question when I finished my first item and after some more investigation. --yliu > Would performance degradation during > migration associated with atomics affect the performance to a level > where it's no longer useful? Pls note these logs aren't latency > sensitive, so can be done on a separate core, and can be batched. > > > One alternative I'm considering is extending linux kernel so it can do > this tracking automatically, by marking pages read-only, detecting a > pagefault and logging the write, then making the pages writeable. This > would mean higher worst-case overhead (pagefaults are expensive) but > lower average one (not extra code after the first fault). Not sure how > feasible this is yet, this would be harder to implement and it will only > be apply to newer host kernels. > > Any feedback would be appreciated. > > -- > MST