On Wed, Apr 09, 2014 at 05:14:34PM +0200, Tomasz Nowicki wrote: > Till now __flush_tlb_one was used for unmapping virtual memory which > is x86 specific function. Replace it with more generic > flush_tlb_kernel_range. > > Signed-off-by: Tomasz Nowicki <tomasz.nowicki@xxxxxxxxxx> > --- > drivers/acpi/apei/ghes.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/acpi/apei/ghes.c b/drivers/acpi/apei/ghes.c > index aaf8db3..624878b 100644 > --- a/drivers/acpi/apei/ghes.c > +++ b/drivers/acpi/apei/ghes.c > @@ -185,7 +185,7 @@ static void ghes_iounmap_nmi(void __iomem *vaddr_ptr) > > BUG_ON(vaddr != (unsigned long)GHES_IOREMAP_NMI_PAGE(base)); > unmap_kernel_range_noflush(vaddr, PAGE_SIZE); > - __flush_tlb_one(vaddr); > + flush_tlb_kernel_range(vaddr, vaddr + PAGE_SIZE); > } > > static void ghes_iounmap_irq(void __iomem *vaddr_ptr) > @@ -195,7 +195,7 @@ static void ghes_iounmap_irq(void __iomem *vaddr_ptr) > > BUG_ON(vaddr != (unsigned long)GHES_IOREMAP_IRQ_PAGE(base)); > unmap_kernel_range_noflush(vaddr, PAGE_SIZE); > - __flush_tlb_one(vaddr); > + flush_tlb_kernel_range(vaddr, vaddr + PAGE_SIZE); flush_tlb_kernel_range() does send an IPI to every core on x86 which is much more expensive than what __flush_tlb_one does. Fairer it would be if you added a __flush_tlb_one() version for arm which does flush_tlb_kernel_range for you. -- Regards/Gruss, Boris. Sent from a fat crate under my desk. Formatting is fine. -- -- To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html