All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ritesh Harjani (IBM) <ritesh.list@gmail.com>
To: Ryan Roberts <ryan.roberts@arm.com>,
	Kevin Brodsky <kevin.brodsky@arm.com>,
	Andrew Morton <akpm@linux-foundation.org>
Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org,
	 Alexander Gordeev <agordeev@linux.ibm.com>,
	Andreas Larsson <andreas@gaisler.com>,
	 Anshuman Khandual <anshuman.khandual@arm.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	 Borislav Petkov <bp@alien8.de>,
	Catalin Marinas <catalin.marinas@arm.com>,
	 Christophe Leroy <christophe.leroy@csgroup.eu>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	 David Hildenbrand <david@redhat.com>,
	"David S. Miller" <davem@davemloft.net>,
	 David Woodhouse <dwmw2@infradead.org>,
	"H. Peter Anvin" <hpa@zytor.com>, Ingo Molnar <mingo@redhat.com>,
	 Jann Horn <jannh@google.com>, Juergen Gross <jgross@suse.com>,
	 "Liam R. Howlett" <Liam.Howlett@oracle.com>,
	Lorenzo Stoakes <lorenzo.stoakes@oracle.com>,
	 Madhavan Srinivasan <maddy@linux.ibm.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Michal Hocko <mhocko@suse.com>,  Mike Rapoport <rppt@kernel.org>,
	Nicholas Piggin <npiggin@gmail.com>,
	 Peter Zijlstra <peterz@infradead.org>,
	Suren Baghdasaryan <surenb@google.com>,
	 Thomas Gleixner <tglx@linutronix.de>,
	Venkat Rao Bagalkote <venkat88@linux.ibm.com>,
	 Vlastimil Babka <vbabka@suse.cz>, Will Deacon <will@kernel.org>,
	Yeoreum Yun <yeoreum.yun@arm.com>,
	 linux-arm-kernel@lists.infradead.org,
	linuxppc-dev@lists.ozlabs.org,  sparclinux@vger.kernel.org,
	xen-devel@lists.xenproject.org, x86@kernel.org
Subject: Re: [PATCH v6 14/14] mm: Add basic tests for lazy_mmu
Date: Wed, 17 Dec 2025 21:16:14 +0530	[thread overview]
Message-ID: <87a4zhkt6h.ritesh.list@gmail.com> (raw)
In-Reply-To: <ca0da7fd-245c-4d52-8f4d-f8fce4717494@arm.com>

Ryan Roberts <ryan.roberts@arm.com> writes:

> On 17/12/2025 09:26, Kevin Brodsky wrote:
>> On 17/12/2025 05:14, Andrew Morton wrote:
>>> On Mon, 15 Dec 2025 15:03:23 +0000 Kevin Brodsky <kevin.brodsky@arm.com> wrote:
>>>
>>>> Add basic KUnit tests for the generic aspects of the lazy MMU mode:
>>>> ensure that it appears active when it should, depending on how
>>>> enable/disable and pause/resume pairs are nested.
>>> I needed this for powerpc allmodconfig;
>>>
>>> --- a/arch/powerpc/mm/book3s64/hash_tlb.c~mm-add-basic-tests-for-lazy_mmu-fix
>>> +++ a/arch/powerpc/mm/book3s64/hash_tlb.c
>>> @@ -30,6 +30,7 @@
>>>  #include <trace/events/thp.h>
>>>  
>>>  DEFINE_PER_CPU(struct ppc64_tlb_batch, ppc64_tlb_batch);
>>> +EXPORT_SYMBOL_GPL(ppc64_tlb_batch);
>>>  
>>>  /*
>>>   * A linux PTE was changed and the corresponding hash table entry
>>> @@ -154,6 +155,7 @@ void __flush_tlb_pending(struct ppc64_tl
>>>  		flush_hash_range(i, local);
>>>  	batch->index = 0;
>>>  }
>>> +EXPORT_SYMBOL_GPL(__flush_tlb_pending);
>>>  
>>>  void hash__tlb_flush(struct mmu_gather *tlb)
>>>  {
>>> _
>> 
>> Oh indeed I hadn't considered that arch_{enter,leave}_lazy_mmu_mode()
>> refer to those symbols on powerpc... Maybe a bit overkill to export
>> those just for a test module, but I'm not sure there's a good
>> alternative. Forcing LAZY_MMU_MODE_KUNIT_TEST=y is ugly as it would also
>> force KUNIT=y. Alternatively we could depend on !PPC, not pretty either.
>
> Does EXPORT_SYMBOL_IF_KUNIT() help?
>

yes, that make sense. Thanks for the suggestion!
I guess we will need a diff like this in that case -


diff --git a/arch/powerpc/mm/book3s64/hash_tlb.c b/arch/powerpc/mm/book3s64/hash_tlb.c
index fbdeb8981ae7..ec2941cec815 100644
--- a/arch/powerpc/mm/book3s64/hash_tlb.c
+++ b/arch/powerpc/mm/book3s64/hash_tlb.c
@@ -25,11 +25,12 @@
 #include <asm/tlb.h>
 #include <asm/bug.h>
 #include <asm/pte-walk.h>
-
+#include <kunit/visibility.h>
 
 #include <trace/events/thp.h>
 
 DEFINE_PER_CPU(struct ppc64_tlb_batch, ppc64_tlb_batch);
+EXPORT_SYMBOL_IF_KUNIT(ppc64_tlb_batch);
 
 /*
  * A linux PTE was changed and the corresponding hash table entry
@@ -154,6 +155,7 @@ void __flush_tlb_pending(struct ppc64_tlb_batch *batch)
                flush_hash_range(i, local);
        batch->index = 0;
 }
+EXPORT_SYMBOL_IF_KUNIT(__flush_tlb_pending);
 
 void hash__tlb_flush(struct mmu_gather *tlb)
 {
diff --git a/mm/tests/lazy_mmu_mode_kunit.c b/mm/tests/lazy_mmu_mode_kunit.c
index 2720eb995714..340d7cda9096 100644
--- a/mm/tests/lazy_mmu_mode_kunit.c
+++ b/mm/tests/lazy_mmu_mode_kunit.c
@@ -69,3 +69,4 @@ kunit_test_suite(lazy_mmu_mode_test_suite);
 
 MODULE_DESCRIPTION("Tests for the lazy MMU mode");
 MODULE_LICENSE("GPL");
+MODULE_IMPORT_NS("EXPORTED_FOR_KUNIT_TESTING");


-ritesh


  parent reply	other threads:[~2025-12-17 15:48 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-12-15 15:03 [PATCH v6 00/14] Nesting support for lazy MMU mode Kevin Brodsky
2025-12-15 15:03 ` [PATCH v6 01/14] powerpc/64s: Do not re-activate batched TLB flush Kevin Brodsky
2025-12-15 15:03 ` [PATCH v6 02/14] x86/xen: simplify flush_lazy_mmu() Kevin Brodsky
2025-12-15 15:03 ` [PATCH v6 03/14] powerpc/mm: implement arch_flush_lazy_mmu_mode() Kevin Brodsky
2025-12-16  5:14   ` Ritesh Harjani
2025-12-15 15:03 ` [PATCH v6 04/14] sparc/mm: " Kevin Brodsky
2026-01-14  7:20   ` Andreas Larsson
2025-12-15 15:03 ` [PATCH v6 05/14] mm: clarify lazy_mmu sleeping constraints Kevin Brodsky
2026-01-09 15:03   ` David Hildenbrand (Red Hat)
2025-12-15 15:03 ` [PATCH v6 06/14] mm: introduce CONFIG_ARCH_HAS_LAZY_MMU_MODE Kevin Brodsky
2026-01-14  7:27   ` Andreas Larsson
2025-12-15 15:03 ` [PATCH v6 07/14] mm: introduce generic lazy_mmu helpers Kevin Brodsky
2025-12-15 15:03 ` [PATCH v6 08/14] mm: bail out of lazy_mmu_mode_* in interrupt context Kevin Brodsky
2025-12-15 15:03 ` [PATCH v6 09/14] mm: enable lazy_mmu sections to nest Kevin Brodsky
2025-12-15 15:03 ` [PATCH v6 10/14] arm64: mm: replace TIF_LAZY_MMU with is_lazy_mmu_mode_active() Kevin Brodsky
2025-12-15 15:03 ` [PATCH v6 11/14] powerpc/mm: replace batch->active " Kevin Brodsky
2025-12-15 15:03 ` [PATCH v6 12/14] sparc/mm: " Kevin Brodsky
2026-01-14  7:21   ` Andreas Larsson
2025-12-15 15:03 ` [PATCH v6 13/14] x86/xen: use lazy_mmu_state when context-switching Kevin Brodsky
2025-12-15 15:03 ` [PATCH v6 14/14] mm: Add basic tests for lazy_mmu Kevin Brodsky
2025-12-17  4:14   ` Andrew Morton
2025-12-17  9:26     ` Kevin Brodsky
2025-12-17 10:01       ` Ryan Roberts
2025-12-17 15:37         ` Kevin Brodsky
2025-12-17 15:46         ` Ritesh Harjani [this message]
2025-12-17 16:10           ` Kevin Brodsky
2025-12-17 16:38     ` [PATCH] powerpc/mm: export symbols for lazy_mmu_mode KUnit tests Kevin Brodsky
2025-12-17 16:45       ` Ritesh Harjani
2025-12-17 17:30         ` Andrew Morton
2025-12-17 17:37           ` Kevin Brodsky
2025-12-21 23:42       ` kernel test robot
2025-12-17 16:38     ` [PATCH] mm: Add basic tests for lazy_mmu - fix for powerpc Kevin Brodsky
2025-12-18 10:05     ` [PATCH] sparc/mm: export symbols for lazy_mmu_mode KUnit tests Kevin Brodsky
2026-01-12 10:09       ` Kevin Brodsky
2026-01-14  7:25         ` Andreas Larsson
2026-01-09 15:07   ` [PATCH v6 14/14] mm: Add basic tests for lazy_mmu David Hildenbrand (Red Hat)
2026-01-12  9:45     ` Kevin Brodsky
2025-12-15 16:52 ` [PATCH v6 00/14] Nesting support for lazy MMU mode Yeoreum Yun
  -- strict thread matches above, loose matches on Subject: below --
2025-12-16  7:12 [PATCH v6 14/14] mm: Add basic tests for lazy_mmu kernel test robot

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87a4zhkt6h.ritesh.list@gmail.com \
    --to=ritesh.list@gmail.com \
    --cc=Liam.Howlett@oracle.com \
    --cc=agordeev@linux.ibm.com \
    --cc=akpm@linux-foundation.org \
    --cc=andreas@gaisler.com \
    --cc=anshuman.khandual@arm.com \
    --cc=boris.ostrovsky@oracle.com \
    --cc=bp@alien8.de \
    --cc=catalin.marinas@arm.com \
    --cc=christophe.leroy@csgroup.eu \
    --cc=dave.hansen@linux.intel.com \
    --cc=davem@davemloft.net \
    --cc=david@redhat.com \
    --cc=dwmw2@infradead.org \
    --cc=hpa@zytor.com \
    --cc=jannh@google.com \
    --cc=jgross@suse.com \
    --cc=kevin.brodsky@arm.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=lorenzo.stoakes@oracle.com \
    --cc=maddy@linux.ibm.com \
    --cc=mhocko@suse.com \
    --cc=mingo@redhat.com \
    --cc=mpe@ellerman.id.au \
    --cc=npiggin@gmail.com \
    --cc=peterz@infradead.org \
    --cc=rppt@kernel.org \
    --cc=ryan.roberts@arm.com \
    --cc=sparclinux@vger.kernel.org \
    --cc=surenb@google.com \
    --cc=tglx@linutronix.de \
    --cc=vbabka@suse.cz \
    --cc=venkat88@linux.ibm.com \
    --cc=will@kernel.org \
    --cc=x86@kernel.org \
    --cc=xen-devel@lists.xenproject.org \
    --cc=yeoreum.yun@arm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.