Linux-mm Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Mike Rapoport <rppt@kernel.org>
To: Samiullah Khawaja <skhawaja@google.com>
Cc: Pasha Tatashin <pasha.tatashin@soleen.com>,
	Pratyush Yadav <pratyush@kernel.org>,
	Alexander Graf <graf@amazon.com>,
	David Matlack <dmatlack@google.com>,
	open list <linux-kernel@vger.kernel.org>,
	"open list:KEXEC HANDOVER (KHO)" <kexec@lists.infradead.org>,
	"open list:KEXEC HANDOVER (KHO)" <linux-mm@kvack.org>
Subject: Re: [PATCH v2 0/3] kho: Add support for kunit mocking KHO restore API
Date: Mon, 1 Jun 2026 10:00:05 +0300	[thread overview]
Message-ID: <ah0t9Ss_S-5iOM59@kernel.org> (raw)
In-Reply-To: <20260521193202.746810-1-skhawaja@google.com>

Hi Samiullah,

On Thu, May 21, 2026 at 07:31:59PM +0000, Samiullah Khawaja wrote:
> To write kunit tests for preservation and restoration of liveupdate
> state in various subsystems without triggering the actual kexec, the KHO
> restore API needs to be mocked by the test writer. The mocking is done
> to allow testing of the individual components or functions in isolation.
> 
> The patch series adds the following to support kunit testing when using the KHO
> API:
> 
> - Add static stub hooks to mock the KHO restore API so the restore path
>   can be tested without triggering kexec.
> - Add helper function that can be used by the test writer to check if
>   memory is preserved in KHO tree.
> 
> Finally, it adds a KUnit test for the KHO API that verifies the allocation of
> preserved memory, and the preservation/restoration of pages and folios.

I looked at the tests for preservation and apparently they don't add
coverage beyond the existing KHO selftest. How hard and/or intrusive would
be adding tests for example for error paths?

Do you have an example of a kunit test for another subsystem that would
benefit from mocking of KHO APIs?
 
> KHO Kunit test run:
> 
>  KTAP version 1
>  1..1
>      KTAP version 1
>      # Subtest: kho_test
>      # module: kexec_handover_test
>      1..3
>      ok 1 kho_test_alloc_preserve
>      ok 2 kho_test_preserve_pages
>      ok 3 kho_test_preserve_folio
>  # kho_test: pass:3 fail:0 skip:0 total:3
>  # Totals: pass:3 fail:0 skip:0 total:3
>  ok 1 kho_test
> 
> v2:
>  - Move kunit header includes above linux header includes.
>  - Use the __kho_preserve_pages_order() to get the order of preserved
>    pages instead of open order calculation math.
> 
> Samiullah Khawaja (3):
>   kho: Add kunit static stubs
>   kho: Add helper function to check if pages are preserved
>   kho: Add kunit test to verify preserve/restore pages and folio
> 
>  include/linux/kexec_handover.h          |   5 +
>  kernel/liveupdate/Kconfig               |  10 ++
>  kernel/liveupdate/Makefile              |   1 +
>  kernel/liveupdate/kexec_handover.c      |  63 +++++++++++-
>  kernel/liveupdate/kexec_handover_test.c | 131 ++++++++++++++++++++++++
>  5 files changed, 209 insertions(+), 1 deletion(-)
>  create mode 100644 kernel/liveupdate/kexec_handover_test.c
> 
> 
> base-commit: ec4084bc445027a52f600e30a976928be1ba1950
> -- 
> 2.54.0.746.g67dd491aae-goog
> 

-- 
Sincerely yours,
Mike.


      parent reply	other threads:[~2026-06-01  7:00 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-05-21 19:31 [PATCH v2 0/3] kho: Add support for kunit mocking KHO restore API Samiullah Khawaja
2026-05-21 19:32 ` [PATCH v2 1/3] kho: Add kunit static stubs Samiullah Khawaja
2026-05-21 19:32 ` [PATCH v2 2/3] kho: Add helper function to check if pages are preserved Samiullah Khawaja
2026-05-21 19:32 ` [PATCH v2 3/3] kho: Add kunit test to verify preserve/restore pages and folio Samiullah Khawaja
2026-06-01  7:00 ` Mike Rapoport [this message]

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=ah0t9Ss_S-5iOM59@kernel.org \
    --to=rppt@kernel.org \
    --cc=dmatlack@google.com \
    --cc=graf@amazon.com \
    --cc=kexec@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=pasha.tatashin@soleen.com \
    --cc=pratyush@kernel.org \
    --cc=skhawaja@google.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox