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

Commit 5a23237f authored by John David Anglin's avatar John David Anglin Committed by Helge Deller
Browse files

parisc: Remove pte_inserted define



The attached change removes the pte_inserted from pgtable.h.  As a
result, we always flush the TLB entry when the associated page table
entry is changed.

This change doesn't impact performance signifcantly and it may catch
some cases where the TLB needs flushing but wasn't.

Signed-off-by: default avatarJohn David Anglin <dave.anglin@bell.net>
Signed-off-by: default avatarHelge Deller <deller@gmx.de>
parent fe8376db
Loading
Loading
Loading
Loading
+2 −8
Original line number Diff line number Diff line
@@ -55,10 +55,6 @@ static inline void purge_tlb_entries(struct mm_struct *mm, unsigned long addr)
                *(pteptr) = (pteval);                           \
        } while(0)

#define pte_inserted(x)						\
	((pte_val(x) & (_PAGE_PRESENT|_PAGE_ACCESSED))		\
	 == (_PAGE_PRESENT|_PAGE_ACCESSED))

#define set_pte_at(mm, addr, ptep, pteval)			\
	do {							\
		pte_t old_pte;					\
@@ -66,7 +62,6 @@ static inline void purge_tlb_entries(struct mm_struct *mm, unsigned long addr)
		spin_lock_irqsave(&pa_tlb_lock, flags);		\
		old_pte = *ptep;				\
		set_pte(ptep, pteval);				\
		if (pte_inserted(old_pte))			\
		purge_tlb_entries(mm, addr);			\
		spin_unlock_irqrestore(&pa_tlb_lock, flags);	\
	} while (0)
@@ -493,7 +488,6 @@ static inline pte_t ptep_get_and_clear(struct mm_struct *mm, unsigned long addr,
	spin_lock_irqsave(&pa_tlb_lock, flags);
	old_pte = *ptep;
	set_pte(ptep, __pte(0));
	if (pte_inserted(old_pte))
	purge_tlb_entries(mm, addr);
	spin_unlock_irqrestore(&pa_tlb_lock, flags);