Files
Linux/mm
Will Deacon fb7332a9fe mmu_gather: move minimal range calculations into generic code
On architectures with hardware broadcasting of TLB invalidation messages
, it makes sense to reduce the range of the mmu_gather structure when
unmapping page ranges based on the dirty address information passed to
tlb_remove_tlb_entry.

arm64 already does this by directly manipulating the start/end fields
of the gather structure, but this confuses the generic code which
does not expect these fields to change and can end up calculating
invalid, negative ranges when forcing a flush in zap_pte_range.

This patch moves the minimal range calculation out of the arm64 code
and into the generic implementation, simplifying zap_pte_range in the
process (which no longer needs to care about start/end, since they will
point to the appropriate ranges already). With the range being tracked
by core code, the need_flush flag is dropped in favour of checking that
the end of the range has actually been set.

Cc: Benjamin Herrenschmidt <[email protected]>
Cc: Peter Zijlstra <[email protected]>
Cc: Russell King - ARM Linux <[email protected]>
Cc: Michal Simek <[email protected]>
Acked-by: Linus Torvalds <[email protected]>
Signed-off-by: Will Deacon <[email protected]>
2014-11-17 10:12:42 +00:00
..
2014-10-09 22:25:59 -04:00
…
…
2014-10-09 22:26:00 -04:00
…
2014-10-09 22:26:00 -04:00
…
…
2014-09-24 14:07:58 +02:00
…
2014-10-09 22:26:00 -04:00
2014-10-09 22:25:58 -04:00
2014-10-24 00:14:37 +02:00
…
2014-10-09 22:26:02 -04:00
2014-08-29 16:28:16 -07:00