Re: [PATCH v3 15/17] mm: pgtable: remove tlb_remove_page_ptdesc()

2025-01-05 Thread Qi Zheng
On 2025/1/3 19:14, Peter Zijlstra wrote: On Sat, Dec 28, 2024 at 11:26:22AM +0200, Mike Rapoport wrote: On Mon, Dec 23, 2024 at 05:41:01PM +0800, Qi Zheng wrote: Here we are explicitly dealing with struct page, and the following logic semms strange: tlb_remove_page_ptdesc((tlb), (page_ptdes

Re: [PATCH v3 15/17] mm: pgtable: remove tlb_remove_page_ptdesc()

2025-01-03 Thread Peter Zijlstra
On Sat, Dec 28, 2024 at 11:26:22AM +0200, Mike Rapoport wrote: > On Mon, Dec 23, 2024 at 05:41:01PM +0800, Qi Zheng wrote: > > Here we are explicitly dealing with struct page, and the following logic > > semms strange: > > > > tlb_remove_page_ptdesc((tlb), (page_ptdesc(pte))); > > > > tlb_remove_

Re: [PATCH v3 15/17] mm: pgtable: remove tlb_remove_page_ptdesc()

2024-12-29 Thread Qi Zheng
Hi Andrew, On 2024/12/30 12:55, Andrew Morton wrote: On Mon, 30 Dec 2024 11:12:00 +0800 Qi Zheng wrote: For now struct ptdesc overlaps struct page, but the goal is to have them separate and always operate on struct ptdesc when working with page tables. OK, so tlb_remove_page_ptdesc() and tl

Re: [PATCH v3 15/17] mm: pgtable: remove tlb_remove_page_ptdesc()

2024-12-29 Thread Andrew Morton
On Mon, 30 Dec 2024 11:12:00 +0800 Qi Zheng wrote: > > For now struct ptdesc overlaps struct page, but the goal is to have them > > separate and always operate on struct ptdesc when working with page tables. > > OK, so tlb_remove_page_ptdesc() and tlb_remove_ptdesc() are somewhat > intermediate

Re: [PATCH v3 15/17] mm: pgtable: remove tlb_remove_page_ptdesc()

2024-12-29 Thread Qi Zheng
Hi Mike, On 2024/12/28 17:26, Mike Rapoport wrote: On Mon, Dec 23, 2024 at 05:41:01PM +0800, Qi Zheng wrote: Here we are explicitly dealing with struct page, and the following logic semms strange: tlb_remove_page_ptdesc((tlb), (page_ptdesc(pte))); tlb_remove_page_ptdesc --> tlb_remove_page(tl

Re: [PATCH v3 15/17] mm: pgtable: remove tlb_remove_page_ptdesc()

2024-12-28 Thread Mike Rapoport
On Mon, Dec 23, 2024 at 05:41:01PM +0800, Qi Zheng wrote: > Here we are explicitly dealing with struct page, and the following logic > semms strange: > > tlb_remove_page_ptdesc((tlb), (page_ptdesc(pte))); > > tlb_remove_page_ptdesc > --> tlb_remove_page(tlb, ptdesc_page(pt)); > > So remove tlb_r

[PATCH v3 15/17] mm: pgtable: remove tlb_remove_page_ptdesc()

2024-12-23 Thread Qi Zheng
Here we are explicitly dealing with struct page, and the following logic semms strange: tlb_remove_page_ptdesc((tlb), (page_ptdesc(pte))); tlb_remove_page_ptdesc --> tlb_remove_page(tlb, ptdesc_page(pt)); So remove tlb_remove_page_ptdesc() and make callers call tlb_remove_page() directly. Signe