{"push_id":2548017352,"size":304,"distinct_size":304,"ref":"refs/heads/riscv-all","head":"15bbff10cc50f214874e180fc35bc9d38dfb81d8","before":"27f80944ad8961b11d8274b9c5a99f826a6f4a24","commits":[{"sha":"4743c23509a51bd4ee85cc272287a41917d1be35","author":{"name":"Peter Maydell","email":"313afa09ce093b19ae1dd74f57c1ebd94508584c@linaro.org"},"message":"Update version for v2.12.0 release\n\nSigned-off-by: Peter Maydell <peter.maydell@linaro.org>","distinct":true,"url":"https://api.github.com/repos/exokortex/riscv-qemu-for-sweb/commits/4743c23509a51bd4ee85cc272287a41917d1be35"},{"sha":"f22f928ec929c425c5aa402b5cc4d6d1fa4be238","author":{"name":"Alexey Perevalov","email":"e6a42c2b4fdab2456c5d8d4580d645611154ed67@samsung.com"},"message":"migration: introduce postcopy-blocktime capability\n\nRight now it could be used on destination side to\nenable vCPU blocktime calculation for postcopy live migration.\nvCPU blocktime - it's time since vCPU thread was put into\ninterruptible sleep, till memory page was copied and thread awake.\n\nReviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>\nSigned-off-by: Alexey Perevalov <a.perevalov@samsung.com>\nReviewed-by: Juan Quintela <quintela@redhat.com>\nSigned-off-by: Juan Quintela <quintela@redhat.com>\nMessage-Id: <1521742647-25550-2-git-send-email-a.perevalov@samsung.com>\nSigned-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>","distinct":true,"url":"https://api.github.com/repos/exokortex/riscv-qemu-for-sweb/commits/f22f928ec929c425c5aa402b5cc4d6d1fa4be238"},{"sha":"2a4c42f18c987496c2c48764d4785a9d6448874a","author":{"name":"Alexey Perevalov","email":"e6a42c2b4fdab2456c5d8d4580d645611154ed67@samsung.com"},"message":"migration: add postcopy blocktime ctx into MigrationIncomingState\n\nThis patch adds request to kernel space for UFFD_FEATURE_THREAD_ID, in\ncase this feature is provided by kernel.\n\nPostcopyBlocktimeContext is encapsulated inside postcopy-ram.c,\ndue to it being a postcopy-only feature.\nAlso it defines PostcopyBlocktimeContext's instance live time.\nInformation from PostcopyBlocktimeContext instance will be provided\nmuch after postcopy migration end, instance of PostcopyBlocktimeContext\nwill live till QEMU exit, but part of it (vcpu_addr,\npage_fault_vcpu_time) used only during calculation, will be released\nwhen postcopy ended or failed.\n\nTo enable postcopy blocktime calculation on destination, need to\nrequest proper compatibility (Patch for documentation will be at the\ntail of the patch set).\n\nAs an example following command enable that capability, assume QEMU was\nstarted with\n-chardev socket,id=charmonitor,path=/var/lib/migrate-vm-monitor.sock\noption to control it\n\n[root@host]#printf \"{\\\"execute\\\" : \\\"qmp_capabilities\\\"}\\r\\n \\\n{\\\"execute\\\": \\\"migrate-set-capabilities\\\" , \\\"arguments\\\":   {\n\\\"capabilities\\\": [ { \\\"capability\\\": \\\"postcopy-blocktime\\\", \\\"state\\\":\ntrue } ] } }\" | nc -U /var/lib/migrate-vm-monitor.sock\n\nOr just with HMP\n(qemu) migrate_set_capability postcopy-blocktime on\n\nReviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>\nSigned-off-by: Alexey Perevalov <a.perevalov@samsung.com>\nReviewed-by: Juan Quintela <quintela@redhat.com>\nSigned-off-by: Juan Quintela <quintela@redhat.com>\nMessage-Id: <1521742647-25550-3-git-send-email-a.perevalov@samsung.com>\nSigned-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>","distinct":true,"url":"https://api.github.com/repos/exokortex/riscv-qemu-for-sweb/commits/2a4c42f18c987496c2c48764d4785a9d6448874a"},{"sha":"575b0b332ea25986fd348c45a91e642bca912137","author":{"name":"Alexey Perevalov","email":"e6a42c2b4fdab2456c5d8d4580d645611154ed67@samsung.com"},"message":"migration: calculate vCPU blocktime on dst side\n\nThis patch provides blocktime calculation per vCPU,\nas a summary and as a overlapped value for all vCPUs.\n\nThis approach was suggested by Peter Xu, as an improvements of\nprevious approch where QEMU kept tree with faulted page address and cpus bitmask\nin it. Now QEMU is keeping array with faulted page address as value and vCPU\nas index. It helps to find proper vCPU at UFFD_COPY time. Also it keeps\nlist for blocktime per vCPU (could be traced with page_fault_addr)\n\nBlocktime will not calculated if postcopy_blocktime field of\nMigrationIncomingState wasn't initialized.\n\nSigned-off-by: Alexey Perevalov <a.perevalov@samsung.com>\nReviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>\nReviewed-by: Juan Quintela <quintela@redhat.com>\nSigned-off-by: Juan Quintela <quintela@redhat.com>\nMessage-Id: <1521742647-25550-4-git-send-email-a.perevalov@samsung.com>\nSigned-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>","distinct":true,"url":"https://api.github.com/repos/exokortex/riscv-qemu-for-sweb/commits/575b0b332ea25986fd348c45a91e642bca912137"},{"sha":"9ed01779e8984b71cf62e4732de8d05ff091df36","author":{"name":"Alexey Perevalov","email":"e6a42c2b4fdab2456c5d8d4580d645611154ed67@samsung.com"},"message":"migration: postcopy_blocktime documentation\n\nReviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>\nSigned-off-by: Alexey Perevalov <a.perevalov@samsung.com>\nReviewed-by: Juan Quintela <quintela@redhat.com>\nSigned-off-by: Juan Quintela <quintela@redhat.com>\nMessage-Id: <1521742647-25550-5-git-send-email-a.perevalov@samsung.com>\nSigned-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>","distinct":true,"url":"https://api.github.com/repos/exokortex/riscv-qemu-for-sweb/commits/9ed01779e8984b71cf62e4732de8d05ff091df36"},{"sha":"346f3dab04ee2391e521fd276883e63959eb9ea9","author":{"name":"Alexey Perevalov","email":"e6a42c2b4fdab2456c5d8d4580d645611154ed67@samsung.com"},"message":"migration: add blocktime calculation into migration-test\n\nThis patch just requests blocktime calculation,\nand check it in case when UFFD_FEATURE_THREAD_ID feature is set\non the host.\n\nReviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>\nSigned-off-by: Alexey Perevalov <a.perevalov@samsung.com>\nReviewed-by: Juan Quintela <quintela@redhat.com>\nSigned-off-by: Juan Quintela <quintela@redhat.com>\nMessage-Id: <1521742647-25550-6-git-send-email-a.perevalov@samsung.com>\nSigned-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>","distinct":true,"url":"https://api.github.com/repos/exokortex/riscv-qemu-for-sweb/commits/346f3dab04ee2391e521fd276883e63959eb9ea9"},{"sha":"65ace060455122a461cdc9302238b914084bcd42","author":{"name":"Alexey Perevalov","email":"e6a42c2b4fdab2456c5d8d4580d645611154ed67@samsung.com"},"message":"migration: add postcopy total blocktime into query-migrate\n\nPostcopy total blocktime is available on destination side only.\nBut query-migrate was possible only for source. This patch\nadds ability to call query-migrate on destination.\nTo be able to see postcopy blocktime, need to request postcopy-blocktime\ncapability.\n\nThe query-migrate command will show following sample result:\n{\"return\":\n    \"postcopy-vcpu-blocktime\": [115, 100],\n    \"status\": \"completed\",\n    \"postcopy-blocktime\": 100\n}}\n\npostcopy_vcpu_blocktime contains list, where the first item is the first\nvCPU in QEMU.\n\nThis patch has a drawback, it combines states of incoming and\noutgoing migration. Ongoing migration state will overwrite incoming\nstate. Looks like better to separate query-migrate for incoming and\noutgoing migration or add parameter to indicate type of migration.\n\nReviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>\nSigned-off-by: Alexey Perevalov <a.perevalov@samsung.com>\nReviewed-by: Juan Quintela <quintela@redhat.com>\nSigned-off-by: Juan Quintela <quintela@redhat.com>\nMessage-Id: <1521742647-25550-7-git-send-email-a.perevalov@samsung.com>\nSigned-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>","distinct":true,"url":"https://api.github.com/repos/exokortex/riscv-qemu-for-sweb/commits/65ace060455122a461cdc9302238b914084bcd42"},{"sha":"263a289ae61c8344a417a95b0142650fdff3af56","author":{"name":"Xiao Guangrong","email":"1e0036c3819c78880ef9e9a8457e99783a5661e3@tencent.com"},"message":"migration: stop compressing page in migration thread\n\nAs compression is a heavy work, do not do it in migration thread,\ninstead, we post it out as a normal page\n\nReviewed-by: Wei Wang <wei.w.wang@intel.com>\nReviewed-by: Peter Xu <peterx@redhat.com>\nReviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>\nSigned-off-by: Xiao Guangrong <xiaoguangrong@tencent.com>\nMessage-Id: <20180330075128.26919-2-xiaoguangrong@tencent.com>\nSigned-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>","distinct":true,"url":"https://api.github.com/repos/exokortex/riscv-qemu-for-sweb/commits/263a289ae61c8344a417a95b0142650fdff3af56"},{"sha":"dcaf446ebda5d87e05eb41cdbafb7ae4a7cc4a62","author":{"name":"Xiao Guangrong","email":"1e0036c3819c78880ef9e9a8457e99783a5661e3@tencent.com"},"message":"migration: stop compression to allocate and free memory frequently\n\nCurrent code uses compress2() to compress memory which manages memory\ninternally, that causes huge memory is allocated and freed very\nfrequently\n\nMore worse, frequently returning memory to kernel will flush TLBs\nand trigger invalidation callbacks on mmu-notification which\ninteracts with KVM MMU, that dramatically reduce the performance\nof VM\n\nSo, we maintain the memory by ourselves and reuse it for each\ncompression\n\nReviewed-by: Peter Xu <peterx@redhat.com>\nReviewed-by: Jiang Biao <jiang.biao2@zte.com.cn>\nSigned-off-by: Xiao Guangrong <xiaoguangrong@tencent.com>\nMessage-Id: <20180330075128.26919-3-xiaoguangrong@tencent.com>\nSigned-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>","distinct":true,"url":"https://api.github.com/repos/exokortex/riscv-qemu-for-sweb/commits/dcaf446ebda5d87e05eb41cdbafb7ae4a7cc4a62"},{"sha":"797ca154b4c68dbd8e93382f714388ab311f672d","author":{"name":"Xiao Guangrong","email":"1e0036c3819c78880ef9e9a8457e99783a5661e3@tencent.com"},"message":"migration: stop decompression to allocate and free memory frequently\n\nCurrent code uses uncompress() to decompress memory which manages\nmemory internally, that causes huge memory is allocated and freed\nvery frequently, more worse, frequently returning memory to kernel\nwill flush TLBs\n\nSo, we maintain the memory by ourselves and reuse it for each\ndecompression\n\nReviewed-by: Peter Xu <peterx@redhat.com>\nReviewed-by: Jiang Biao <jiang.biao2@zte.com.cn>\nSigned-off-by: Xiao Guangrong <xiaoguangrong@tencent.com>\nMessage-Id: <20180330075128.26919-4-xiaoguangrong@tencent.com>\nSigned-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>","distinct":true,"url":"https://api.github.com/repos/exokortex/riscv-qemu-for-sweb/commits/797ca154b4c68dbd8e93382f714388ab311f672d"},{"sha":"34ab9e9743aeaf265929d930747f101fa5c76fea","author":{"name":"Xiao Guangrong","email":"1e0036c3819c78880ef9e9a8457e99783a5661e3@tencent.com"},"message":"migration: detect compression and decompression errors\n\nCurrently the page being compressed is allowed to be updated by\nthe VM on the source QEMU, correspondingly the destination QEMU\njust ignores the decompression error. However, we completely miss\nthe chance to catch real errors, then the VM is corrupted silently\n\nTo make the migration more robuster, we copy the page to a buffer\nfirst to avoid it being written by VM, then detect and handle the\nerrors of both compression and decompression errors properly\n\nReviewed-by: Peter Xu <peterx@redhat.com>\nSigned-off-by: Xiao Guangrong <xiaoguangrong@tencent.com>\nMessage-Id: <20180330075128.26919-5-xiaoguangrong@tencent.com>\nSigned-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>","distinct":true,"url":"https://api.github.com/repos/exokortex/riscv-qemu-for-sweb/commits/34ab9e9743aeaf265929d930747f101fa5c76fea"},{"sha":"059ff0fb29dd3a56ac2843676915efc279938c6b","author":{"name":"Xiao Guangrong","email":"1e0036c3819c78880ef9e9a8457e99783a5661e3@tencent.com"},"message":"migration: introduce control_save_page()\n\nAbstract the common function control_save_page() to cleanup the code,\nno logic is changed\n\nReviewed-by: Peter Xu <peterx@redhat.com>\nReviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>\nSigned-off-by: Xiao Guangrong <xiaoguangrong@tencent.com>\nMessage-Id: <20180330075128.26919-6-xiaoguangrong@tencent.com>\nSigned-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>","distinct":true,"url":"https://api.github.com/repos/exokortex/riscv-qemu-for-sweb/commits/059ff0fb29dd3a56ac2843676915efc279938c6b"},{"sha":"1faa5665c0f1df2eff291454a3a85625a3bc93dd","author":{"name":"Xiao Guangrong","email":"1e0036c3819c78880ef9e9a8457e99783a5661e3@tencent.com"},"message":"migration: move some code to ram_save_host_page\n\nMove some code from ram_save_target_page() to ram_save_host_page()\nto make it be more readable for latter patches that dramatically\nclean ram_save_target_page() up\n\nReviewed-by: Peter Xu <peterx@redhat.com>\nSigned-off-by: Xiao Guangrong <xiaoguangrong@tencent.com>\nMessage-Id: <20180330075128.26919-7-xiaoguangrong@tencent.com>\nSigned-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>","distinct":true,"url":"https://api.github.com/repos/exokortex/riscv-qemu-for-sweb/commits/1faa5665c0f1df2eff291454a3a85625a3bc93dd"},{"sha":"a8ec91f941c5f83123796331c09333d3557eb5fc","author":{"name":"Xiao Guangrong","email":"1e0036c3819c78880ef9e9a8457e99783a5661e3@tencent.com"},"message":"migration: move calling control_save_page to the common place\n\nThe function is called by both ram_save_page and ram_save_target_page,\nso move it to the common caller to cleanup the code\n\nReviewed-by: Peter Xu <peterx@redhat.com>\nSigned-off-by: Xiao Guangrong <xiaoguangrong@tencent.com>\nMessage-Id: <20180330075128.26919-8-xiaoguangrong@tencent.com>\nSigned-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>","distinct":true,"url":"https://api.github.com/repos/exokortex/riscv-qemu-for-sweb/commits/a8ec91f941c5f83123796331c09333d3557eb5fc"},{"sha":"d7400a3409982a52ac451cd3ca9caee9db670ca7","author":{"name":"Xiao Guangrong","email":"1e0036c3819c78880ef9e9a8457e99783a5661e3@tencent.com"},"message":"migration: move calling save_zero_page to the common place\n\nsave_zero_page() is always our first approach to try, move it to\nthe common place before calling ram_save_compressed_page\nand ram_save_page\n\nReviewed-by: Peter Xu <peterx@redhat.com>\nReviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>\nSigned-off-by: Xiao Guangrong <xiaoguangrong@tencent.com>\nMessage-Id: <20180330075128.26919-9-xiaoguangrong@tencent.com>\nSigned-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>","distinct":true,"url":"https://api.github.com/repos/exokortex/riscv-qemu-for-sweb/commits/d7400a3409982a52ac451cd3ca9caee9db670ca7"},{"sha":"65dacaa04fa7e6104cbcee9251c7845355769a10","author":{"name":"Xiao Guangrong","email":"1e0036c3819c78880ef9e9a8457e99783a5661e3@tencent.com"},"message":"migration: introduce save_normal_page()\n\nIt directly sends the page to the stream neither checking zero nor\nusing xbzrle or compression\n\nReviewed-by: Peter Xu <peterx@redhat.com>\nReviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>\nSigned-off-by: Xiao Guangrong <xiaoguangrong@tencent.com>\nMessage-Id: <20180330075128.26919-10-xiaoguangrong@tencent.com>\nSigned-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>","distinct":true,"url":"https://api.github.com/repos/exokortex/riscv-qemu-for-sweb/commits/65dacaa04fa7e6104cbcee9251c7845355769a10"},{"sha":"da3f56cb2e767016d3f204837a77caf35b463f90","author":{"name":"Xiao Guangrong","email":"1e0036c3819c78880ef9e9a8457e99783a5661e3@tencent.com"},"message":"migration: remove ram_save_compressed_page()\n\nNow, we can reuse the path in ram_save_page() to post the page out\nas normal, then the only thing remained in ram_save_compressed_page()\nis compression that we can move it out to the caller\n\nReviewed-by: Peter Xu <peterx@redhat.com>\nReviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>\nSigned-off-by: Xiao Guangrong <xiaoguangrong@tencent.com>\nMessage-Id: <20180330075128.26919-11-xiaoguangrong@tencent.com>\nSigned-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>","distinct":true,"url":"https://api.github.com/repos/exokortex/riscv-qemu-for-sweb/commits/da3f56cb2e767016d3f204837a77caf35b463f90"},{"sha":"8e383d19b4486355630c78944e4751fb953bef1c","author":{"name":"Peter Maydell","email":"313afa09ce093b19ae1dd74f57c1ebd94508584c@linaro.org"},"message":"Merge remote-tracking branch 'remotes/dgilbert/tags/pull-migration-20180425a' into staging\n\nMigration pull for 2.13\n\nAlexey Perevalov postcopy blocktime statistics\nXiao Guangrong's compression performance improvements\n\n# gpg: Signature made Wed 25 Apr 2018 20:21:13 BST\n# gpg:                using RSA key 0516331EBC5BFDE7\n# gpg: Good signature from \"Dr. David Alan Gilbert (RH2) <dgilbert@redhat.com>\"\n# Primary key fingerprint: 45F5 C71B 4A0C B7FB 977A  9FA9 0516 331E BC5B FDE7\n\n* remotes/dgilbert/tags/pull-migration-20180425a:\n  migration: remove ram_save_compressed_page()\n  migration: introduce save_normal_page()\n  migration: move calling save_zero_page to the common place\n  migration: move calling control_save_page to the common place\n  migration: move some code to ram_save_host_page\n  migration: introduce control_save_page()\n  migration: detect compression and decompression errors\n  migration: stop decompression to allocate and free memory frequently\n  migration: stop compression to allocate and free memory frequently\n  migration: stop compressing page in migration thread\n  migration: add postcopy total blocktime into query-migrate\n  migration: add blocktime calculation into migration-test\n  migration: postcopy_blocktime documentation\n  migration: calculate vCPU blocktime on dst side\n  migration: add postcopy blocktime ctx into MigrationIncomingState\n  migration: introduce postcopy-blocktime capability\n\nSigned-off-by: Peter Maydell <peter.maydell@linaro.org>","distinct":true,"url":"https://api.github.com/repos/exokortex/riscv-qemu-for-sweb/commits/8e383d19b4486355630c78944e4751fb953bef1c"},{"sha":"14ec3cbd7c1e31dca4d23f028100c8f43e156573","author":{"name":"Geert Uytterhoeven","email":"a1ff81395f7e6bf5b509fe9aab06bf3419493e1d@glider.be"},"message":"device_tree: Increase FDT_MAX_SIZE to 1 MiB\n\nIt is not uncommon for a contemporary FDT to be larger than 64 KiB,\nleading to failures loading the device tree from sysfs:\n\n    qemu-system-aarch64: qemu_fdt_setprop: Couldn't set ...: FDT_ERR_NOSPACE\n\nHence increase the limit to 1 MiB, like on PPC.\n\nFor reference, the largest arm64 DTB created from the Linux sources is\nca. 75 KiB large (100 KiB when built with symbols/fixup support).\n\nCc: qemu-stable@nongnu.org\nSigned-off-by: Geert Uytterhoeven <geert+renesas@glider.be>\nMessage-id: 1523541337-23919-1-git-send-email-geert+renesas@glider.be\nReviewed-by: Peter Maydell <peter.maydell@linaro.org>\nSigned-off-by: Peter Maydell <peter.maydell@linaro.org>","distinct":true,"url":"https://api.github.com/repos/exokortex/riscv-qemu-for-sweb/commits/14ec3cbd7c1e31dca4d23f028100c8f43e156573"},{"sha":"75ed2c02484101d5b4995c56e78a894ac244ce05","author":{"name":"Igor Mammedov","email":"376726f239c919d31d97c9332191663ab16d47b5@redhat.com"},"message":"arm: always start from first_cpu when registering loader cpu reset callback\n\nif arm_load_kernel() were passed non first_cpu, QEMU would end up\nwith partially set do_cpu_reset() callback leaving some CPUs without it.\n\nMake sure that do_cpu_reset() is registered for all CPUs by enumerating\nCPUs from first_cpu.\n\n(In practice every board that we have was passing us the first CPU\nas the boot CPU, either directly or indirectly, so this wasn't\ncausing incorrect behaviour.)\n\nSigned-off-by: Igor Mammedov <imammedo@redhat.com>\nReviewed-by: Peter Maydell <peter.maydell@linaro.org>\n[PMM: added a note that this isn't a behaviour change]\nSigned-off-by: Peter Maydell <peter.maydell@linaro.org>","distinct":true,"url":"https://api.github.com/repos/exokortex/riscv-qemu-for-sweb/commits/75ed2c02484101d5b4995c56e78a894ac244ce05"}]}
{"actor":{"display_login":"exokortex"}}