On 20/09/2017, Jan Kiszka wrote: > Regarding the patches: You will have to break them up (and rebase over > the development heads) so that people can review them. The QEMU patch is > short, but it seems like the host-guest interface will need more work, > specifically proper mapping onto a PV mechanism. Thank you for your suggestion, we will break the patch code up later. The main workflow of PPR is focused on linux patch. The qemu patch provide reserved memory to the guest machine , the PPR module on the guest will map this memory, and send the memory address to the host, so that the host can share this memory with guest. If there is a better memory sharing method, we can improve it later. This shared memory is used to save the page mark related data structure, when the PPR worker threads on the host find page reclaim mark, they will check the corresponding information in this memory. linux patch modified files list : Files linux-4.4.1/include/linux/rmap.h and linux-4.4.1_new/include/linux/rmap.h differ Files linux-4.4.1/include/pone/pone_linux_adp.h and linux-4.4.1_new/include/pone/pone_linux_adp.h differ Files linux-4.4.1/include/pone/pone_rmap.h and linux-4.4.1_new/include/pone/pone_rmap.h differ Files linux-4.4.1/include/pone/slice_state_adpter.h and linux-4.4.1_new/include/pone/slice_state_adpter.h differ Files linux-4.4.1/include/pone/slice_state.h and linux-4.4.1_new/include/pone/slice_state.h differ Files linux-4.4.1/include/pone/virt_release.h and linux-4.4.1_new/include/pone/virt_release.h differ Files linux-4.4.1/include/uapi/linux/kvm.h and linux-4.4.1_new/include/uapi/linux/kvm.h differ Files linux-4.4.1/kernel/fork.c and linux-4.4.1_new/kernel/fork.c differ Files linux-4.4.1/mm/Kconfig and linux-4.4.1_new/mm/Kconfig differ Files linux-4.4.1/mm/Makefile and linux-4.4.1_new/mm/Makefile differ Files linux-4.4.1/mm/memory.c and linux-4.4.1_new/mm/memory.c differ Files linux-4.4.1/mm/page_alloc.c and linux-4.4.1_new/mm/page_alloc.c differ Files linux-4.4.1/mm/pone/Kconfig and linux-4.4.1_new/mm/pone/Kconfig differ Files linux-4.4.1/mm/pone/Makefile and linux-4.4.1_new/mm/pone/Makefile differ Files linux-4.4.1/mm/pone/one/chunk_block.c and linux-4.4.1_new/mm/pone/one/chunk_block.c differ Files linux-4.4.1/mm/pone/one/chunk.h and linux-4.4.1_new/mm/pone/one/chunk.h differ Files linux-4.4.1/mm/pone/one/Makefile and linux-4.4.1_new/mm/pone/one/Makefile differ Files linux-4.4.1/mm/pone/one/splitter.c and linux-4.4.1_new/mm/pone/one/splitter.c differ Files linux-4.4.1/mm/pone/one/spt_dep.c and linux-4.4.1_new/mm/pone/one/spt_dep.c differ Files linux-4.4.1/mm/pone/one/spt_dep.h and linux-4.4.1_new/mm/pone/one/spt_dep.h differ Files linux-4.4.1/mm/pone/one/spt_thread.c and linux-4.4.1_new/mm/pone/one/spt_thread.c differ Files linux-4.4.1/mm/pone/one/spt_thread.h and linux-4.4.1_new/mm/pone/one/spt_thread.h differ Files linux-4.4.1/mm/pone/page_reclaim_adp.c and linux-4.4.1_new/mm/pone/page_reclaim_adp.c differ Files linux-4.4.1/mm/pone/page_reclaim_adp.h and linux-4.4.1_new/mm/pone/page_reclaim_adp.h differ Files linux-4.4.1/mm/pone/page_reclaim_init.c and linux-4.4.1_new/mm/pone/page_reclaim_init.c differ Files linux-4.4.1/mm/pone/pone_init.c and linux-4.4.1_new/mm/pone/pone_init.c differ Files linux-4.4.1/mm/pone/pone_linux_adp.c and linux-4.4.1_new/mm/pone/pone_linux_adp.c differ Files linux-4.4.1/mm/pone/pone_rmap.c and linux-4.4.1_new/mm/pone/pone_rmap.c differ Files linux-4.4.1/mm/pone/pone_sys.c and linux-4.4.1_new/mm/pone/pone_sys.c differ Files linux-4.4.1/mm/pone/pone_time.h and linux-4.4.1_new/mm/pone/pone_time.h differ Files linux-4.4.1/mm/pone/ppr/Makefile and linux-4.4.1_new/mm/pone/ppr/Makefile differ Files linux-4.4.1/mm/pone/ppr/page_reclaim_guest.c and linux-4.4.1_new/mm/pone/ppr/page_reclaim_guest.c differ Files linux-4.4.1/mm/pone/ppr/page_reclaim_host.c and linux-4.4.1_new/mm/pone/ppr/page_reclaim_host.c differ Files linux-4.4.1/mm/pone/slice_state_adpter.c and linux-4.4.1_new/mm/pone/slice_state_adpter.c differ Files linux-4.4.1/mm/pone/slice_state_daemon.c and linux-4.4.1_new/mm/pone/slice_state_daemon.c differ Files linux-4.4.1/mm/pone/slice_state_process.c and linux-4.4.1_new/mm/pone/slice_state_process.c differ Files linux-4.4.1/mm/pone/splitter_adp.c and linux-4.4.1_new/mm/pone/splitter_adp.c differ Files linux-4.4.1/mm/pone/splitter_adp.h and linux-4.4.1_new/mm/pone/splitter_adp.h differ Files linux-4.4.1/mm/pone/timepoint.c and linux-4.4.1_new/mm/pone/timepoint.c differ Files linux-4.4.1/mm/pone/utils/lf_order.c and linux-4.4.1_new/mm/pone/utils/lf_order.c differ Files linux-4.4.1/mm/pone/utils/lf_order.h and linux-4.4.1_new/mm/pone/utils/lf_order.h differ Files linux-4.4.1/mm/pone/utils/Makefile and linux-4.4.1_new/mm/pone/utils/Makefile differ Files linux-4.4.1/mm/rmap.c and linux-4.4.1_new/mm/rmap.c differ Files linux-4.4.1/mm/swapfile.c and linux-4.4.1_new/mm/swapfile.c differ Files linux-4.4.1/virt/kvm/kvm_main.c and linux-4.4.1_new/virt/kvm/kvm_main.c differ