linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/2] arm64: TLB flush issues
@ 2014-05-02 15:20 Mark Salter
  2014-05-02 15:20 ` [PATCH 1/2] arm64: fix unnecessary tlb flushes Mark Salter
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Mark Salter @ 2014-05-02 15:20 UTC (permalink / raw)
  To: linux-arm-kernel

As explained in more detail in the second patch, I have observed a soft
lockup under some loads. These lockups were in flush_tlb_kernel_range()
which was looping through a very large address range. While looking into
this, I also noticed the flush routines in tlb.S were not properly
handling pages larger than 4k. This is corrected in the first patch.
The second patch limits the loop size for the flush_tlb_[kernel_]range
functions. It uses an arbitrary constant to limit the loop, but it
would be better if it were based on actual tlb size or some other
heuristic.

Mark Salter (2):
  arm64: fix unnecessary tlb flushes
  arm64: fix soft lockup due to large tlb flush range

 arch/arm64/include/asm/tlbflush.h | 28 +++++++++++++++++++++++++---
 arch/arm64/mm/tlb.S               |  4 ++--
 2 files changed, 27 insertions(+), 5 deletions(-)

-- 
1.9.0

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2014-05-02 15:50 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-05-02 15:20 [PATCH 0/2] arm64: TLB flush issues Mark Salter
2014-05-02 15:20 ` [PATCH 1/2] arm64: fix unnecessary tlb flushes Mark Salter
2014-05-02 15:20 ` [PATCH 2/2] arm64: fix soft lockup due to large tlb flush range Mark Salter
2014-05-02 15:30 ` [PATCH 0/2] arm64: TLB flush issues Steve Capper
2014-05-02 15:50   ` Mark Salter

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).