]> git.itanic.dy.fi Git - linux-stable/commit
parisc: Remove unnecessary TLB purges from flush_dcache_page_asm and flush_icache_pag...
authorJohn David Anglin <dave.anglin@bell.net>
Wed, 7 Dec 2016 03:02:01 +0000 (22:02 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 15 Dec 2016 16:49:21 +0000 (08:49 -0800)
commit605f315c5a8340e61fbe627907701377d27b7510
tree923bdc66a32bd9b269161bfadd342a6c3ed60849
parentdb95986057686ecd7d615ede326d63e8b24a5e92
parisc: Remove unnecessary TLB purges from flush_dcache_page_asm and flush_icache_page_asm

commit febe42964fe182281859b3d43d844bb25ca49367 upstream.

We have four routines in pacache.S that use temporary alias pages:
copy_user_page_asm(), clear_user_page_asm(), flush_dcache_page_asm() and
flush_icache_page_asm().  copy_user_page_asm() and clear_user_page_asm()
don't purge the TLB entry used for the operation.
flush_dcache_page_asm() and flush_icache_page_asm do purge the entry.

Presumably, this was thought to optimize TLB use.  However, the
operation is quite heavy weight on PA 1.X processors as we need to take
the TLB lock and a TLB broadcast is sent to all processors.

This patch removes the purges from flush_dcache_page_asm() and
flush_icache_page_asm.

Signed-off-by: John David Anglin <dave.anglin@bell.net>
Signed-off-by: Helge Deller <deller@gmx.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
arch/parisc/kernel/pacache.S