android_kernel_msm-6.1_noth.../include
Yi-De Wu 7cc3767c2a FROMLIST: virt: geniezone: Add block-based demand paging support
To balance memory usage and performance, GenieZone supports larger
granularity demand paging, called block-based demand paging.
Gzvm driver uses enable_cap to query the hypervisor if it supports
block-based demand paging and the given granularity or not. Meanwhile,
the gzvm driver allocates a shared buffer for storing the physical
pages later.

If the hypervisor supports, every time the gzvm driver handles guest
page faults, it allocates more memory in advance (default: 2MB) for
demand paging. And fills those physical pages into the allocated shared
memory, then calls the hypervisor to map to guest's memory.

The physical pages allocated for block-based demand paging is not
necessary to be contiguous because in many cases, 2MB block is not
followed. 1st, the memory is allocated because of VMM's page fault
(VMM loads kernel image to guest memory before running). In this case,
the page is allocated by the host kernel and using PAGE_SIZE. 2nd is
that guest may return memory to host via ballooning and that is still
4KB (or PAGE_SIZE) granularity. Therefore, we do not have to allocate
physically contiguous 2MB pages.

Change-Id: Id101da5a8ff73dbf5c9a3ab03526cdf5d2f6006e
Signed-off-by: Yingshiuan Pan <yingshiuan.pan@mediatek.com>
Signed-off-by: kevenny hsieh <kevenny.hsieh@mediatek.com>
Signed-off-by: Liju-Clr Chen <liju-clr.chen@mediatek.com>
Signed-off-by: Yi-De Wu <yi-de.wu@mediatek.com>
Bug: 301179926
Link: https://lore.kernel.org/all/20230919111210.19615-16-yi-de.wu@mediatek.com/
2023-10-20 16:31:15 +00:00
..
acpi ACPI: video: Add auto_detect arg to __acpi_video_get_backlight_type() 2023-04-13 16:55:33 +02:00
asm-generic BACKPORT: arm64: unwind: add asynchronous unwind tables to kernel and modules 2023-05-25 15:37:14 -07:00
clocksource
crypto
drm Merge 6.1.24 into android14-6.1 2023-04-22 08:52:25 +00:00
dt-bindings dt-bindings: clocks: imx8mp: Add ID for usb suspend clock 2022-12-31 13:33:09 +01:00
keys
kunit kunit: fix kunit_test_init_section_suites(...) 2023-02-09 11:28:08 +01:00
kvm Revert "Revert "KVM: arm64: PMU: Align chained counter implementation with architecture pseudocode"" 2023-05-11 05:22:29 +00:00
linux FROMLIST: virt: geniezone: Add block-based demand paging support 2023-10-20 16:31:15 +00:00
math-emu
media ANDROID: GKI: add kabi padding for structures for the android14 release 2023-06-07 14:24:51 +00:00
memory memory: renesas-rpc-if: Split-off private data from struct rpcif 2023-03-11 13:55:17 +01:00
misc
net UPSTREAM: netfilter: nf_tables: fix chain binding transaction logic 2023-07-25 12:25:13 +01:00
pcmcia
ras
rdma
rv
scsi ANDROID: GKI: scsi: add Android ABI padding to some structures 2023-06-07 14:24:56 +00:00
soc ARM: at91: pm: avoid soft resetting AC DLL 2022-11-01 12:25:19 +02:00
sound ANDROID: GKI: add kabi padding for structures for the android14 release 2023-06-07 14:24:51 +00:00
target
trace ANDROID: vendor hooks: Enable Vendor hook to register smmu driver to dedicated iommu bus defined by vendor. 2023-10-18 18:47:09 +00:00
uapi FROMLIST: virt: geniezone: Add block-based demand paging support 2023-10-20 16:31:15 +00:00
ufs FROMLIST: scsi: ufs: core: Export symbols for MTK driver module 2023-07-04 09:08:44 +00:00
vdso
video
xen x86/PVH: obtain VGA console info in Dom0 2023-04-06 12:10:39 +02:00