linux/arch
Keqian Zhu 2aa53d68ce KVM: arm64: Try stage2 block mapping for host device MMIO
The MMIO region of a device maybe huge (GB level), try to use
block mapping in stage2 to speedup both map and unmap.

Compared to normal memory mapping, we should consider two more
points when try block mapping for MMIO region:

1. For normal memory mapping, the PA(host physical address) and
HVA have same alignment within PUD_SIZE or PMD_SIZE when we use
the HVA to request hugepage, so we don't need to consider PA
alignment when verifing block mapping. But for device memory
mapping, the PA and HVA may have different alignment.

2. For normal memory mapping, we are sure hugepage size properly
fit into vma, so we don't check whether the mapping size exceeds
the boundary of vma. But for device memory mapping, we should pay
attention to this.

This adds get_vma_page_shift() to get page shift for both normal
memory and device MMIO region, and check these two points when
selecting block mapping size for MMIO region.

Signed-off-by: Keqian Zhu <zhukeqian1@huawei.com>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20210507110322.23348-3-zhukeqian1@huawei.com
2021-06-01 12:01:47 +01:00
..
alpha quota: Disable quotactl_path syscall 2021-05-17 14:39:56 +02:00
arc ARC: mm: Use max_high_pfn as a HIGHMEM zone border 2021-05-10 12:38:59 -07:00
arm A few fixes for irqchip drivers: 2021-05-23 06:28:20 -10:00
arm64 KVM: arm64: Try stage2 block mapping for host device MMIO 2021-06-01 12:01:47 +01:00
csky arch/csky patches for 5.13-rc1 2021-05-03 12:58:31 -07:00
h8300 arch: rearrange headers inclusion order in asm/bitops for m68k, sh and h8300 2021-05-06 19:24:11 -07:00
hexagon Merge branch 'akpm' (patches from Andrew) 2021-05-07 00:34:51 -07:00
ia64 quota: Disable quotactl_path syscall 2021-05-17 14:39:56 +02:00
m68k Merge branch 'for-v5.13-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace 2021-05-21 06:12:52 -10:00
microblaze quota: Disable quotactl_path syscall 2021-05-17 14:39:56 +02:00
mips - fixed function/preempt traces hangs 2021-05-28 08:24:13 -10:00
nds32 tracing updates for 5.13 2021-05-03 11:19:54 -07:00
nios2 Merge branch 'work.misc' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2021-05-02 09:14:01 -07:00
openrisc OpenRISC fixes for 5.13 2021-05-21 06:06:19 -10:00
parisc quota: Disable quotactl_path syscall 2021-05-17 14:39:56 +02:00
powerpc Merge branch 'i2c/for-current' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux 2021-05-29 18:24:00 -10:00
riscv riscv: kexec: Fix W=1 build warnings 2021-05-22 22:05:30 -07:00
s390 quota: Disable quotactl_path syscall 2021-05-17 14:39:56 +02:00
sh \n 2021-05-20 06:20:15 -10:00
sparc quota: Disable quotactl_path syscall 2021-05-17 14:39:56 +02:00
um Merge branch 'akpm' (patches from Andrew) 2021-05-07 00:34:51 -07:00
x86 ARM fixes: 2021-05-29 06:02:25 -10:00
xtensa quota: Disable quotactl_path syscall 2021-05-17 14:39:56 +02:00
.gitignore .gitignore: prefix local generated files with a slash 2021-05-02 00:43:35 +09:00
Kconfig Add Landlock, a new LSM from Mickaël Salaün <mic@linux.microsoft.com> 2021-05-01 18:50:44 -07:00