On Mon, Sep 18, 2023 at 02:31:42PM +0800, Baolin Wang wrote: > Recently, we found that cross-die access to pagetable pages on ARM64 > machines can cause performance fluctuations in our business. Currently, > there are no PMU events available to track this situation on our ARM64 > machines, so an accurate pagetable accounting can help to analyze this > issue, but now the PUD level pagetable accounting is missed. > > So introducing pagetable_pud_ctor/dtor() to help to get an accurate > PUD pagetable accounting, as well as converting the architectures with > using generic PUD pagatable allocation to add corresponding PUD pagetable > accounting. Moreover this patch will also mark the PUD level pagetable > with PG_table flag, which will help to do sanity validation in unpoison_memory(). > > On my testing machine, I can see more pagetables statistics after the patch > with page-types tool: > > Before patch: > flags page-count MB symbolic-flags long-symbolic-flags > 0x0000000004000000 27326 106 __________________________g_________________ pgtable > After patch: > 0x0000000004000000 27541 107 __________________________g_________________ pgtable > > Signed-off-by: Baolin Wang <baolin.wang@xxxxxxxxxxxxxxxxx> Acked-by: Vishal Moola (Oracle) <vishal.moola@xxxxxxxxx>