Skip to content

Commit 185cca2

Browse files
Claudio Imbrendatorvalds
authored andcommitted
KVM: s390: prepare for hugepage vmalloc
The Create Secure Configuration Ultravisor Call does not support using large pages for the virtual memory area. This is a hardware limitation. This patch replaces the vzalloc call with an almost equivalent call to the newly introduced vmalloc_no_huge function, which guarantees that only small pages will be used for the backing. The new call will not clear the allocated memory, but that has never been an actual requirement. Link: https://lkml.kernel.org/r/[email protected] Fixes: 121e6f3 ("mm/vmalloc: hugepage vmalloc mappings") Signed-off-by: Claudio Imbrenda <[email protected]> Reviewed-by: Janosch Frank <[email protected]> Acked-by: Christian Borntraeger <[email protected]> Acked-by: Nicholas Piggin <[email protected]> Reviewed-by: David Hildenbrand <[email protected]> Cc: Nicholas Piggin <[email protected]> Cc: Uladzislau Rezki (Sony) <[email protected]> Cc: Catalin Marinas <[email protected]> Cc: Thomas Gleixner <[email protected]> Cc: Ingo Molnar <[email protected]> Cc: David Rientjes <[email protected]> Cc: Christoph Hellwig <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
1 parent 15a64f5 commit 185cca2

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

arch/s390/kvm/pv.c

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -140,7 +140,12 @@ static int kvm_s390_pv_alloc_vm(struct kvm *kvm)
140140
/* Allocate variable storage */
141141
vlen = ALIGN(virt * ((npages * PAGE_SIZE) / HPAGE_SIZE), PAGE_SIZE);
142142
vlen += uv_info.guest_virt_base_stor_len;
143-
kvm->arch.pv.stor_var = vzalloc(vlen);
143+
/*
144+
* The Create Secure Configuration Ultravisor Call does not support
145+
* using large pages for the virtual memory area.
146+
* This is a hardware limitation.
147+
*/
148+
kvm->arch.pv.stor_var = vmalloc_no_huge(vlen);
144149
if (!kvm->arch.pv.stor_var)
145150
goto out_err;
146151
return 0;

0 commit comments

Comments
 (0)