Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b55a8595 authored by Linux Build Service Account's avatar Linux Build Service Account Committed by Gerrit - the friendly Code Review server
Browse files

Merge "mm: prioritize tasks holding CMA pages"

parents 43f681e2 e1574295
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -147,6 +147,11 @@ static inline void tlb_flush_mmu(struct mmu_gather *tlb)
	tlb_flush_mmu_free(tlb);
}

static inline void tlb_free_pages_early(struct mmu_gather *tlb)
{
	tlb_flush_mmu(tlb);
}

static inline void
tlb_gather_mmu(struct mmu_gather *tlb, struct mm_struct *mm, unsigned long start, unsigned long end)
{
+5 −0
Original line number Diff line number Diff line
@@ -233,6 +233,11 @@ static inline void tlb_flush_mmu(struct mmu_gather *tlb)
	ia64_tlb_flush_mmu(tlb, tlb->start_addr, tlb->end_addr);
}

static inline void tlb_free_pages_early(struct mmu_gather *tlb)
{
	tlb_flush_mmu(tlb);
}

static inline void tlb_remove_page(struct mmu_gather *tlb, struct page *page)
{
	if (!__tlb_remove_page(tlb, page))
+4 −0
Original line number Diff line number Diff line
@@ -82,6 +82,10 @@ static inline void tlb_finish_mmu(struct mmu_gather *tlb,
	tlb_flush_mmu(tlb);
}

static inline void tlb_free_pages_early(struct mmu_gather *tlb)
{
}

/*
 * Release the page cache reference for a pte removed by
 * tlb_ptep_clear_flush. In both flush modes the tlb for a page cache page
+4 −0
Original line number Diff line number Diff line
@@ -93,6 +93,10 @@ tlb_finish_mmu(struct mmu_gather *tlb, unsigned long start, unsigned long end)
	check_pgt_cache();
}

static inline void tlb_free_pages_early(struct mmu_gather *tlb)
{
}

/* tlb_remove_page
 *	Must perform the equivalent to __free_pte(pte_get_and_clear(ptep)),
 *	while handling the additional races in SMP caused by other CPUs
+1 −0
Original line number Diff line number Diff line
@@ -115,6 +115,7 @@ void tlb_gather_mmu(struct mmu_gather *tlb, struct mm_struct *mm, unsigned long
void tlb_flush_mmu(struct mmu_gather *tlb);
void tlb_finish_mmu(struct mmu_gather *tlb, unsigned long start,
							unsigned long end);
void tlb_free_pages_early(struct mmu_gather *tlb);
int __tlb_remove_page(struct mmu_gather *tlb, struct page *page);

/* tlb_remove_page
Loading