powerpc: Optimize hugepage invalidate

Hugepage invalidate involves invalidating multiple hpte entries.
Optimize the operation using H_BULK_REMOVE on lpar platforms.
On native, reduce the number of tlb flush.

Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
This commit is contained in:
Aneesh Kumar K.V 2013-06-20 14:30:27 +05:30 committed by Benjamin Herrenschmidt
parent 437d496457
commit 1a5272866f
4 changed files with 201 additions and 9 deletions

View file

@ -57,6 +57,9 @@ struct machdep_calls {
void (*hpte_removebolted)(unsigned long ea,
int psize, int ssize);
void (*flush_hash_range)(unsigned long number, int local);
void (*hugepage_invalidate)(struct mm_struct *mm,
unsigned char *hpte_slot_array,
unsigned long addr, int psize);
/* special for kexec, to be called in real mode, linear mapping is
* destroyed as well */