mm: mmu_gather: do not expose delayed_rmap flag
Flag delayed_rmap of 'struct mmu_gather' is rather a private member, but it is still accessed directly. Instead, let the TLB gather code access the flag. Link: https://lkml.kernel.org/r/Y3SWCu6NRaMQ5dbD@li-4a3a4a4c-28e5-11b2-a85c-a8d192c6f089.ibm.com Signed-off-by: Alexander Gordeev <agordeev@linux.ibm.com> Acked-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
This commit is contained in:
parent
5df397dec7
commit
f036c8184f
|
@ -1465,8 +1465,7 @@ again:
|
||||||
/* Do the actual TLB flush before dropping ptl */
|
/* Do the actual TLB flush before dropping ptl */
|
||||||
if (force_flush) {
|
if (force_flush) {
|
||||||
tlb_flush_mmu_tlbonly(tlb);
|
tlb_flush_mmu_tlbonly(tlb);
|
||||||
if (tlb->delayed_rmap)
|
tlb_flush_rmaps(tlb, vma);
|
||||||
tlb_flush_rmaps(tlb, vma);
|
|
||||||
}
|
}
|
||||||
pte_unmap_unlock(start_pte, ptl);
|
pte_unmap_unlock(start_pte, ptl);
|
||||||
|
|
||||||
|
|
|
@ -61,6 +61,9 @@ void tlb_flush_rmaps(struct mmu_gather *tlb, struct vm_area_struct *vma)
|
||||||
{
|
{
|
||||||
struct mmu_gather_batch *batch;
|
struct mmu_gather_batch *batch;
|
||||||
|
|
||||||
|
if (!tlb->delayed_rmap)
|
||||||
|
return;
|
||||||
|
|
||||||
batch = tlb->active;
|
batch = tlb->active;
|
||||||
for (int i = 0; i < batch->nr; i++) {
|
for (int i = 0; i < batch->nr; i++) {
|
||||||
struct encoded_page *enc = batch->encoded_pages[i];
|
struct encoded_page *enc = batch->encoded_pages[i];
|
||||||
|
|
Loading…
Reference in New Issue