Message ID | cover.1612747873.git.haibo.xu@linaro.org |
---|---|
Headers | show |
Series | target/arm: Add MTE support to KVM guest | expand |
Adding the migration maintainers to the cc list, because the real meat of this patchset is "how should the migration of MTE tags be integrated into the migration/ram.c code", which is pretty well out of my area of expertise... thanks -- PMM On Mon, 8 Feb 2021 at 03:20, Haibo Xu <haibo.xu@linaro.org> wrote: > > This series add support for MTE(Memory Tagging Extension)[1] > in KVM guest. It's based on Steven Price's kernel KVM patches > V7[2], and has been tested to ensure that test case[3] can be > passed in a KVM guest. Basic pre-copy migration test also passed > between two MTE enabled kvm guest. > > This is a RFC patch series becuase: > (1) Need to add some arm MTE specific codes to the ram migration > loop. There may be better way to do that in a more abstract way. > (2) Only pre-copy migration is supported and tested currently, > post-copy as well as compress/zero page migration are still WIP. > > All kinds of feedbacks are very welcomed, especially for the migration > support. > > Note: > (1) To support MTE migration, tags for one page are appended to > the page data during ram save iteration which make it easier > to sync the page data and tags. > > [1] https://community.arm.com/developer/ip-products/processors/b/ > processors-ip-blog/posts/enhancing-memory-safety > [2] https://lwn.net/Articles/842827/ > [3] https://elixir.bootlin.com/linux/latest/source/Documentation/ > arm64/memory-tagging-extension.rst > > Haibo Xu (5): > Update Linux headers with new MTE support > Add basic MTE support to KVM guest > Add APIs to get/set MTE tags > Add migration support for KVM guest with MTE > Enable the MTE support for KVM guest > > hw/arm/virt.c | 44 +++++++++++++------- > include/hw/arm/virt.h | 2 + > include/migration/misc.h | 1 + > linux-headers/linux/kvm.h | 15 +++++++ > migration/ram.c | 86 ++++++++++++++++++++++++++++++++++++++- > target/arm/cpu.c | 2 +- > target/arm/kvm.c | 9 ++++ > target/arm/kvm64.c | 31 ++++++++++++++ > target/arm/kvm_arm.h | 2 + > 9 files changed, 176 insertions(+), 16 deletions(-)
On Tue, 16 Feb 2021 at 19:20, Peter Maydell <peter.maydell@linaro.org> wrote: > > Adding the migration maintainers to the cc list, because > the real meat of this patchset is "how should the migration > of MTE tags be integrated into the migration/ram.c code", > which is pretty well out of my area of expertise... > > thanks > -- PMM > Hi Peter, Thanks for cc-ing to the related maintainers! Regards, Haibo > On Mon, 8 Feb 2021 at 03:20, Haibo Xu <haibo.xu@linaro.org> wrote: > > > > This series add support for MTE(Memory Tagging Extension)[1] > > in KVM guest. It's based on Steven Price's kernel KVM patches > > V7[2], and has been tested to ensure that test case[3] can be > > passed in a KVM guest. Basic pre-copy migration test also passed > > between two MTE enabled kvm guest. > > > > This is a RFC patch series becuase: > > (1) Need to add some arm MTE specific codes to the ram migration > > loop. There may be better way to do that in a more abstract way. > > (2) Only pre-copy migration is supported and tested currently, > > post-copy as well as compress/zero page migration are still WIP. > > > > All kinds of feedbacks are very welcomed, especially for the migration > > support. > > > > Note: > > (1) To support MTE migration, tags for one page are appended to > > the page data during ram save iteration which make it easier > > to sync the page data and tags. > > > > [1] https://community.arm.com/developer/ip-products/processors/b/ > > processors-ip-blog/posts/enhancing-memory-safety > > [2] https://lwn.net/Articles/842827/ > > [3] https://elixir.bootlin.com/linux/latest/source/Documentation/ > > arm64/memory-tagging-extension.rst > > > > Haibo Xu (5): > > Update Linux headers with new MTE support > > Add basic MTE support to KVM guest > > Add APIs to get/set MTE tags > > Add migration support for KVM guest with MTE > > Enable the MTE support for KVM guest > > > > hw/arm/virt.c | 44 +++++++++++++------- > > include/hw/arm/virt.h | 2 + > > include/migration/misc.h | 1 + > > linux-headers/linux/kvm.h | 15 +++++++ > > migration/ram.c | 86 ++++++++++++++++++++++++++++++++++++++- > > target/arm/cpu.c | 2 +- > > target/arm/kvm.c | 9 ++++ > > target/arm/kvm64.c | 31 ++++++++++++++ > > target/arm/kvm_arm.h | 2 + > > 9 files changed, 176 insertions(+), 16 deletions(-)