Re: [PATCH v2 2/3] mm: drop pte_clear_not_present_full()
Andrew Morton <[email protected]> Mon, 29 Jun 2026 10:22:15 -0700
| Newsgroups | org.kernel.vger.sparclinux,org.kernel.vger.linux-kernel,org.kvack.linux-mm |
|---|---|
| Message-ID | <[email protected]> |
On Mon, 29 Jun 2026 15:49:48 +0200 "David Hildenbrand (Arm)" <[email protected]> wrote: > In general, there is no good reason to do anything special when clearing > non-present PTEs. > > In theory, HW that does have to invalidate TLBs for non-present PTEs could > benefit from a "full" parameter, but fortunately > pte_clear_not_present_full() is not wired up anymore ... and there would > have to be something very convincing for us to care about that to re-add > it. > > So, let's just use pte_clear() directly now. To avoid the compiler > complaining on some configs about unused "addr" parameter, silence that > here. Wait, which configs do that? > @@ -1022,8 +1007,10 @@ static inline void pte_clear_not_present_full(struct mm_struct *mm, > static inline void clear_not_present_full_ptes(struct mm_struct *mm, > unsigned long addr, pte_t *ptep, unsigned int nr, int full) > { > + (void)addr; > + We heavily rely on this warning not happening. eg, one of thousands: static inline bool page_range_contiguous(const struct page *page, unsigned long nr_pages) { return true; } So... what's happening here?