mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-26 18:45:25 +07:00
fa61a4e376
Powerpc architecture uses a hash based page table mechanism for mapping virtual addresses to physical address. The architecture require this hash page table to be physically contiguous. With KVM on Powerpc currently we use early reservation mechanism for allocating guest hash page table. This implies that we need to reserve a big memory region to ensure we can create large number of guest simultaneously with KVM on Power. Another disadvantage is that the reserved memory is not available to rest of the subsystems and and that implies we limit the total available memory in the host. This patch series switch the guest hash page table allocation to use contiguous memory allocator. Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com> Acked-by: Paul Mackerras <paulus@samba.org> Signed-off-by: Alexander Graf <agraf@suse.de>
23 lines
825 B
C
23 lines
825 B
C
/*
|
|
* Contiguous Memory Allocator for ppc KVM hash pagetable based on CMA
|
|
* for DMA mapping framework
|
|
*
|
|
* Copyright IBM Corporation, 2013
|
|
* Author Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
|
|
*
|
|
* This program is free software; you can redistribute it and/or
|
|
* modify it under the terms of the GNU General Public License as
|
|
* published by the Free Software Foundation; either version 2 of the
|
|
* License or (at your optional) any later version of the license.
|
|
*
|
|
*/
|
|
|
|
#ifndef __POWERPC_KVM_CMA_ALLOC_H__
|
|
#define __POWERPC_KVM_CMA_ALLOC_H__
|
|
extern struct page *kvm_alloc_cma(unsigned long nr_pages,
|
|
unsigned long align_pages);
|
|
extern bool kvm_release_cma(struct page *pages, unsigned long nr_pages);
|
|
extern long kvm_cma_declare_contiguous(phys_addr_t size,
|
|
phys_addr_t alignment) __init;
|
|
#endif
|