diff options
author | Yuan Liu <yuan1.liu@intel.com> | 2024-04-01 23:41:10 +0800 |
---|---|---|
committer | Peter Xu <peterx@redhat.com> | 2024-04-23 18:36:01 -0400 |
commit | 5ef7e26bdb7eda10d6d5e1b77121be9945e5e550 (patch) | |
tree | 8823bbea099cf77e06a48b8d465ff2666c9adf6a /include | |
parent | dd031677257d7d00a72f28f073befc22691a0ad6 (diff) | |
download | qemu-5ef7e26bdb7eda10d6d5e1b77121be9945e5e550.zip qemu-5ef7e26bdb7eda10d6d5e1b77121be9945e5e550.tar.gz qemu-5ef7e26bdb7eda10d6d5e1b77121be9945e5e550.tar.bz2 |
migration/multifd: solve zero page causing multiple page faults
Implemented recvbitmap tracking of received pages in multifd.
If the zero page appears for the first time in the recvbitmap, this
page is not checked and set.
If the zero page has already appeared in the recvbitmap, there is no
need to check the data but directly set the data to 0, because it is
unlikely that the zero page will be migrated multiple times.
Signed-off-by: Yuan Liu <yuan1.liu@intel.com>
Reviewed-by: Fabiano Rosas <farosas@suse.de>
Link: https://lore.kernel.org/r/20240401154110.2028453-2-yuan1.liu@intel.com
[peterx: touch up the comment, as the bitmap is used outside postcopy now]
Signed-off-by: Peter Xu <peterx@redhat.com>
Diffstat (limited to 'include')
-rw-r--r-- | include/exec/ramblock.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/include/exec/ramblock.h b/include/exec/ramblock.h index 848915e..7062da3 100644 --- a/include/exec/ramblock.h +++ b/include/exec/ramblock.h @@ -57,7 +57,7 @@ struct RAMBlock { off_t bitmap_offset; uint64_t pages_offset; - /* bitmap of already received pages in postcopy */ + /* Bitmap of already received pages. Only used on destination side. */ unsigned long *receivedmap; /* |