[PATCH] KVM: PPC: remove unused varible

2024-08-16 Thread alexs
From: Alex Shi During build testing, we found a error: /arch/powerpc/kvm/book3s_hv.c:4052:17: error: variable 'loops' set but not used [-Werror,-Wunused-but-set-variable] unsigned long loops = 0; 1 error generated. Remove the unused variable could fix this. Signed-off-by: Alex

[RFC PATCH 18/18] mm/pgtable: pass ptdesc in pte_free_defer

2024-07-30 Thread alexs
From: Alex Shi pass ptdesc in pte_free_defer() and use ptdesc in collapse_huge_page(). This patch is immature, there is a issue from pmd_pgtable() conversion in few archs. The problem need a fix. Signed-off-by: Alex Shi Cc: linux...@kvack.org Cc: linux-s...@vger.kernel.org Cc: linux-ker...@vge

[RFC PATCH 17/18] mm: convert vmf.prealloc_pte to struct ptdesc pointer

2024-07-30 Thread alexs
From: Alex Shi vmfs.prealloc_pte is a pointer to page table memory, so converter it to struct ptdesc pointer. Signed-off-by: Alex Shi Cc: linux-fsde...@vger.kernel.org Cc: linux-ker...@vger.kernel.org Cc: linux...@kvack.org Cc: Matthew Wilcox Cc: Andrew Morton --- include/linux/mm.h | 2 +-

[RFC PATCH 16/18] mm/pgtable: pass ptdesc to pmd_install

2024-07-30 Thread alexs
From: Alex Shi A new step to replace pgtable_t by ptdesc, also a preparation to change vmf.prealloc_pte to ptdesc too. Signed-off-by: Alex Shi Cc: linux-ker...@vger.kernel.org Cc: linux...@kvack.org Cc: linux-fsde...@vger.kernel.org Cc: Andrew Morton Cc: Matthew Wilcox --- mm/filemap.c | 2

[RFC PATCH 15/18] mm/pgtable: pass ptdesc to pmd_populate

2024-07-30 Thread alexs
From: Alex Shi Pass struct ptdesc to pmd_populate to further replace pgtable_t. We use type casting instead of page_ptdesc() helper since different arch has different type of pgtable_t. Helper ptdesc_pfn used for arch openrisc and hexagon. Signed-off-by: Alex Shi Cc: linux...@kvack.org Cc: lin

[RFC PATCH 14/18] mm/pgtable: use ptdesc in pgtable_trans_huge_deposit

2024-07-30 Thread alexs
From: Alex Shi A step to replace pgtable_t to struct ptdesc. Signed-off-by: Alex Shi Cc: linux...@kvack.org Cc: nvd...@lists.linux.dev Cc: linux-fsde...@vger.kernel.org Cc: sparcli...@vger.kernel.org Cc: linux-s...@vger.kernel.org Cc: linux-ker...@vger.kernel.org Cc: linuxppc-dev@lists.ozlabs.o

[RFC PATCH 13/18] mm/pgtable: return ptdesc pointer in pgtable_trans_huge_withdraw

2024-07-30 Thread alexs
From: Alex Shi Way to replace pgtable_t aka struct page in most of archs. Signed-off-by: Alex Shi Cc: linux...@kvack.org Cc: sparcli...@vger.kernel.org Cc: linux-s...@vger.kernel.org Cc: linux-ker...@vger.kernel.org Cc: linuxppc-dev@lists.ozlabs.org Cc: Barry Song Cc: Lance Yang Cc: Kinsey Ho

[RFC PATCH 12/18] mm/thp: pass ptdesc to set_huge_zero_folio function

2024-07-30 Thread alexs
From: Alex Shi Aim is still replace struct page to ptdesc. Signed-off-by: Alex Shi Cc: linux-ker...@vger.kernel.org Cc: linux...@kvack.org Cc: Andrew Morton --- mm/huge_memory.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/mm/huge_memory.c b/mm/huge_memory.c index

[RFC PATCH 11/18] mm/pgtable: introduce ptdesc_pfn and use ptdesc in free_pte_range()

2024-07-30 Thread alexs
From: Alex Shi Replace pgtable_t by ptdesc in free_pte_range and it's callee pte_free_tlb series functions. And save some converters now. We have to use type casting for pmd_pgtable() instead of page_ptdesc() helper since different arch has different type of pgtable_t. btw, we can not simplify p

[RFC PATCH 10/18] mm/pgtable: pass ptdesc to pte_free()

2024-07-30 Thread alexs
From: Alex Shi Now we could remove couple of page<->ptdesc converters now. Signed-off-by: Alex Shi Cc: linux...@kvack.org Cc: linux-a...@vger.kernel.org Cc: nvd...@lists.linux.dev Cc: linux-fsde...@vger.kernel.org Cc: sparcli...@vger.kernel.org Cc: linuxppc-dev@lists.ozlabs.org Cc: linux-m...@l

[RFC PATCH 09/18] mm/pgtable: fully use ptdesc in pte_alloc_one series functions

2024-07-30 Thread alexs
From: Alex Shi Replace pgtable_t and struct page by ptdesc in pte_alloc_one series functions. Signed-off-by: Alex Shi Cc: linux...@kvack.org Cc: linux-a...@vger.kernel.org Cc: nvd...@lists.linux.dev Cc: linux-fsde...@vger.kernel.org Cc: sparcli...@vger.kernel.org Cc: linuxppc-dev@lists.ozlabs.o

[RFC PATCH 08/18] mm/memory: use ptdesc in __pte_alloc

2024-07-30 Thread alexs
From: Alex Shi Replace pgtable_t by ptdesc in function __pte_alloc. We will remove pgtable_t from all place. Signed-off-by: Alex Shi Cc: linux-ker...@vger.kernel.org Cc: linux...@kvack.org Cc: Andrew Morton --- mm/memory.c | 10 +- 1 file changed, 5 insertions(+), 5 deletions(-) diff

[RFC PATCH 07/18] mm/thp: use ptdesc in copy_huge_pmd

2024-07-30 Thread alexs
From: Alex Shi Since we have ptdesc struct now, better to use replace pgtable_t, aka 'struct page *'. It's alaos a preparation for return ptdesc pointer in pte_alloc_one series function. Signed-off-by: Alex Shi Cc: linux-ker...@vger.kernel.org Cc: linux...@kvack.org Cc: Andrew Morton --- mm/h

[RFC PATCH 06/18] mm/thp: convert insert_pfn_pmd and its caller to use ptdesc

2024-07-30 Thread alexs
From: Alex Shi Since we have ptdesc struct now, better to use replace pgtable_t, aka 'struct page *'. It's alaos a preparation for return ptdesc pointer in pte_alloc_one series function. Signed-off-by: Alex Shi Cc: linux-ker...@vger.kernel.org Cc: linux...@kvack.org Cc: Andrew Morton --- mm/h

[RFC PATCH 05/18] mm/thp: use ptdesc in do_huge_pmd_anonymous_page

2024-07-30 Thread alexs
From: Alex Shi ince we have ptdesc struct now, better to use replace pgtable_t, aka 'struct page *'. It's alaos a preparation for return ptdesc pointer in pte_alloc_one series function. Signed-off-by: Alex Shi Cc: linux-ker...@vger.kernel.org Cc: linux...@kvack.org Cc: Andrew Morton --- mm/hu

[RFC PATCH 04/18] mm/thp: use ptdesc pointer in __do_huge_pmd_anonymous_page

2024-07-30 Thread alexs
From: Alex Shi Since we have ptdesc struct now, better to use replace pgtable_t, aka 'struct page *'. It's alaos a preparation for return ptdesc pointer in pte_alloc_one series function. Signed-off-by: Alex Shi Cc: linux-ker...@vger.kernel.org Cc: linux...@kvack.org Cc: Andrew Morton --- mm/h

[RFC PATCH 03/18] fs/dax: use ptdesc in dax_pmd_load_hole

2024-07-30 Thread alexs
From: Alex Shi Since we have ptdesc struct now, better to use replace pgtable_t, aka 'struct page *'. It's a prepare for return ptdesc pointer in pte_alloc_one series function. Signed-off-by: Alex Shi Cc: linux-ker...@vger.kernel.org Cc: nvd...@lists.linux.dev Cc: linux-fsde...@vger.kernel.org

[RFC PATCH 02/18] mm/pgtable: convert ptdesc.pmd_huge_pte to ptdesc pointer

2024-07-30 Thread alexs
From: Alex Shi folio/page.pmd_huge_pte is a pointer to pagetable descriptor: pgtable_t. In most arch, it is a typedef of 'struct page *'. But we have ptdesc now, tt's better to convert it to right one: struct ptdesc pointer. Different from others, s390/sparc use typedef 'pte_t *' as pgtable_t, s

[RFC PATCH 01/18] mm/pgtable: use ptdesc in pte_free_now/pte_free_defer

2024-07-30 Thread alexs
From: Alex Shi page table descriptor is splited from struct page, use it to replace struct page in right place. Signed-off-by: Alex Shi Cc: linux-ker...@vger.kernel.org Cc: linux...@kvack.org Cc: Andrew Morton Cc: Matthew Wilcox Cc: David Hildenbrand --- mm/pgtable-generic.c | 13 ++---

[RFC PATCH 00/18] use struct ptdesc to replace pgtable_t

2024-07-30 Thread alexs
From: Alex Shi We have struct ptdesc for page table descriptor a year ago, but it has no much usages in kernel, while pgtable_t is used widely. The pgtable_t is typedefed as 'pte_t *' in sparc, s390, powerpc and m68k except SUN3, others archs are all same as 'struct page *'. These blocks the co

[PATCH v5 5/5] sched: rename SD_SHARE_PKG_RESOURCES to SD_SHARE_LLC

2024-02-10 Thread alexs
From: Alex Shi SD_CLUSTER shares the CPU resources like llc tags or l2 cache, that's easy confuse with SD_SHARE_PKG_RESOURCES. So let's specifical point what the latter shares: LLC. That would reduce some confusing. Suggested-by: Valentin Schneider Signed-off-by: Alex Shi Cc: linux-ker...@vger

[PATCH v4 5/5] sched: rename SD_SHARE_PKG_RESOURCES to SD_SHARE_LLC

2024-02-06 Thread alexs
From: Alex Shi SD_CLUSTER shares the CPU resources like llc tags or l2 cache, that's easy confuse with SD_SHARE_PKG_RESOURCES. So let's specifical point what the latter shares: LLC. That would reduce some confusing. Suggested-by: Valentin Schneider Signed-off-by: Alex Shi To: linux-ker...@vger