Linux Documentation
 help / color / mirror / Atom feed
* [PATCH v2 00/10] liveupdate: Remove limits on the number of files and sessions
@ 2026-05-14 22:26 Pasha Tatashin
  2026-05-14 22:26 ` [PATCH v2 01/10] liveupdate: centralize state management into struct luo_ser Pasha Tatashin
                   ` (9 more replies)
  0 siblings, 10 replies; 25+ messages in thread
From: Pasha Tatashin @ 2026-05-14 22:26 UTC (permalink / raw)
  To: linux-kselftest, rppt, shuah, akpm, linux-mm, skhan, linux-doc,
	linux-kernel, corbet, pasha.tatashin, dmatlack, kexec, pratyush,
	skhawaja, graf

This series removes the fixed limits on the number of files that can
be preserved within a single session, and the total number of sessions
managed by the Live Update Orchestrator.

The core of the change is a transition from single contiguous memory
blocks for metadata serialization to a chain of linked blocks. This
allows LUO to scale dynamically.

1.  ABI Evolution:
    - Introduced linked-block headers for both file and session
      serialization.
    - Bumped session ABI version to v4.

2.  Memory Management & Security:
    - Implemented a dynamic block allocation and reuse strategy. Blocks
      are allocated only when existing ones are exhausted and are reused
      during session/file removal cycles.
    - Introduced LUO_MAX_BLOCKS (10000) as a safeguard against stupid
      excessive allocations or corrupted cyclic lists during restore.

3.  Expanded Selftests:
    - Added new kexec-based tests verifying preservation of
      2000 sessions and 500 files per session.
    - Added self-tests for many sessions and many files management.

Changes v2:
   - Addressed all comments from Pratyush
   - Consolidated LUO state management from FDT into struct luo_ser.
   - Extracted luo_file_deserialize_one and luo_session_deserialize_one
     helpers to improve modularity, and later review (Pratyush).
   - Added dedicated luo_block.c for unified linked-block serialization
     and management.

Pasha Tatashin (10):
  liveupdate: centralize state management into struct luo_ser
  liveupdate: Extract luo_file_deserialize_one helper
  liveupdate: Extract luo_session_deserialize_one helper
  liveupdate: add support for linked-block serialization
  liveupdate: defer session block allocation and PA setting
  liveupdate: Remove limit on the number of sessions
  liveupdate: Remove limit on the number of files per session
  selftests/liveupdate: Test session and file limit removal
  selftests/liveupdate: Add stress-sessions kexec test
  selftests/liveupdate: Add stress-files kexec test

 Documentation/core-api/liveupdate.rst         |   8 +
 include/linux/kho/abi/luo.h                   | 140 +++----
 kernel/liveupdate/Makefile                    |   1 +
 kernel/liveupdate/luo_block.c                 | 388 ++++++++++++++++++
 kernel/liveupdate/luo_core.c                  |  57 ++-
 kernel/liveupdate/luo_file.c                  | 209 +++++-----
 kernel/liveupdate/luo_flb.c                   |  65 +--
 kernel/liveupdate/luo_internal.h              |  70 +++-
 kernel/liveupdate/luo_session.c               | 202 ++++-----
 tools/testing/selftests/liveupdate/Makefile   |   2 +
 .../testing/selftests/liveupdate/liveupdate.c |  75 ++++
 .../selftests/liveupdate/luo_stress_files.c   | 101 +++++
 .../liveupdate/luo_stress_sessions.c          | 102 +++++
 .../selftests/liveupdate/luo_test_utils.c     |  24 ++
 .../selftests/liveupdate/luo_test_utils.h     |   2 +
 15 files changed, 1068 insertions(+), 378 deletions(-)
 create mode 100644 kernel/liveupdate/luo_block.c
 create mode 100644 tools/testing/selftests/liveupdate/luo_stress_files.c
 create mode 100644 tools/testing/selftests/liveupdate/luo_stress_sessions.c


base-commit: 34e8f02817e31826e76bb2ded48bf28fe921f20b
-- 
2.53.0


^ permalink raw reply	[flat|nested] 25+ messages in thread

end of thread, other threads:[~2026-05-17 18:52 UTC | newest]

Thread overview: 25+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-05-14 22:26 [PATCH v2 00/10] liveupdate: Remove limits on the number of files and sessions Pasha Tatashin
2026-05-14 22:26 ` [PATCH v2 01/10] liveupdate: centralize state management into struct luo_ser Pasha Tatashin
2026-05-17 17:20   ` Mike Rapoport
2026-05-17 18:36     ` Pasha Tatashin
2026-05-14 22:26 ` [PATCH v2 02/10] liveupdate: Extract luo_file_deserialize_one helper Pasha Tatashin
2026-05-17 17:24   ` Mike Rapoport
2026-05-17 18:37     ` Pasha Tatashin
2026-05-14 22:26 ` [PATCH v2 03/10] liveupdate: Extract luo_session_deserialize_one helper Pasha Tatashin
2026-05-17 17:25   ` Mike Rapoport
2026-05-14 22:26 ` [PATCH v2 04/10] liveupdate: add support for linked-block serialization Pasha Tatashin
2026-05-17 17:26   ` Mike Rapoport
2026-05-17 18:40     ` Pasha Tatashin
2026-05-14 22:26 ` [PATCH v2 05/10] liveupdate: defer session block allocation and PA setting Pasha Tatashin
2026-05-17 17:31   ` Mike Rapoport
2026-05-17 18:52     ` Pasha Tatashin
2026-05-14 22:26 ` [PATCH v2 06/10] liveupdate: Remove limit on the number of sessions Pasha Tatashin
2026-05-17 17:33   ` Mike Rapoport
2026-05-14 22:26 ` [PATCH v2 07/10] liveupdate: Remove limit on the number of files per session Pasha Tatashin
2026-05-17 17:33   ` Mike Rapoport
2026-05-14 22:26 ` [PATCH v2 08/10] selftests/liveupdate: Test session and file limit removal Pasha Tatashin
2026-05-17 17:35   ` Mike Rapoport
2026-05-14 22:26 ` [PATCH v2 09/10] selftests/liveupdate: Add stress-sessions kexec test Pasha Tatashin
2026-05-17 17:37   ` Mike Rapoport
2026-05-14 22:26 ` [PATCH v2 10/10] selftests/liveupdate: Add stress-files " Pasha Tatashin
2026-05-17 17:38   ` Mike Rapoport

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox