Thread (63 messages) 63 messages, 3 authors, 2025-11-17

Re: [PATCH v5 01/22] liveupdate: luo_core: luo_ioctl: Live Update Orchestrator

From: Pasha Tatashin <pasha.tatashin@soleen.com>
Date: 2025-11-13 13:56:45
Also in: linux-doc, linux-fsdevel, linux-mm, lkml

quoted
+/**
+ * DOC: General ioctl format
+ *
It seems it's not linked from Documentation/.../liveupdate.rst
It is linked:
Here is uAPI: https://docs.kernel.org/next/userspace-api/liveupdate.html

And also from the main Doc:
https://docs.kernel.org/next/core-api/liveupdate.html
There is a link in "Sea Also" section: Live Update uAPI
quoted
+ * The ioctl interface follows a general format to allow for extensibility. Each
+ * ioctl is passed in a structure pointer as the argument providing the size of
+ * the structure in the first u32. The kernel checks that any structure space
+ * beyond what it understands is 0. This allows userspace to use the backward
+ * compatible portion while consistently using the newer, larger, structures.
+ *
+ * ioctls use a standard meaning for common errnos:
+ *
+ *  - ENOTTY: The IOCTL number itself is not supported at all
+ *  - E2BIG: The IOCTL number is supported, but the provided structure has
+ *    non-zero in a part the kernel does not understand.
+ *  - EOPNOTSUPP: The IOCTL number is supported, and the structure is
+ *    understood, however a known field has a value the kernel does not
+ *    understand or support.
+ *  - EINVAL: Everything about the IOCTL was understood, but a field is not
+ *    correct.
+ *  - ENOENT: A provided token does not exist.
+ *  - ENOMEM: Out of memory.
+ *  - EOVERFLOW: Mathematics overflowed.
+ *
+ * As well as additional errnos, within specific ioctls.
...
quoted
--- a/kernel/liveupdate/Kconfig
+++ b/kernel/liveupdate/Kconfig
@@ -1,7 +1,34 @@
 # SPDX-License-Identifier: GPL-2.0-only
+#
+# Copyright (c) 2025, Google LLC.
+# Pasha Tatashin <pasha.tatashin@soleen.com>
+#
+# Live Update Orchestrator
+#

 menu "Live Update and Kexec HandOver"

+config LIVEUPDATE
+     bool "Live Update Orchestrator"
+     depends on KEXEC_HANDOVER
+     help
+       Enable the Live Update Orchestrator. Live Update is a mechanism,
+       typically based on kexec, that allows the kernel to be updated
+       while keeping selected devices operational across the transition.
+       These devices are intended to be reclaimed by the new kernel and
+       re-attached to their original workload without requiring a device
+       reset.
+
+       Ability to handover a device from current to the next kernel depends
+       on specific support within device drivers and related kernel
+       subsystems.
+
+       This feature primarily targets virtual machine hosts to quickly update
+       the kernel hypervisor with minimal disruption to the running virtual
+       machines.
+
+       If unsure, say N.
+
Not a big deal, but since LIVEUPDATE depends on KEXEC_HANDOVER, shouldn't
it go after KEXEC_HANDOVER?
Sure, I'll move them to the end of the file.

Thanks,
Pasha
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help