linux-metal: perfil escritorio/juego — NTSYNC, PREEMPT full+HZ_1000 explícitos, MGLRU, ZRAM, EROFS+FS_VERITY (sustrato composefs), split_lock_detect=off; sched-ext DIFERIDO (exige BTF que la receta apaga a propósito)
Deps de Kconfig verificadas contra el tag v6.16.12 (kernel.org): NTSYNC sin deps; SCHED_CLASS_EXT depende de DEBUG_INFO_BTF ⇒ tarea propia (receta dwarves + repro de BTF). Re-sellado disparado en el worker. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -17,8 +17,11 @@ la misma línea:
|
|||||||
6.16.12 propio lo trae). Es EL salto para Wine/Proton moderno — reemplaza los hacks
|
6.16.12 propio lo trae). Es EL salto para Wine/Proton moderno — reemplaza los hacks
|
||||||
esync/fsync por un char device (`/dev/ntsync`). Built-in, compatible con el `-d MODULES`
|
esync/fsync por un char device (`/dev/ntsync`). Built-in, compatible con el `-d MODULES`
|
||||||
del kernel metal.
|
del kernel metal.
|
||||||
- **T1.2 — `CONFIG_SCHED_CLASS_EXT=y`** (sched-ext). BPF_SYSCALL ya es explícito por el
|
- **T1.2 — sched-ext: DIFERIDO (verificado 2026-07-16).** `SCHED_CLASS_EXT` en 6.16.12
|
||||||
contrato kikin ⇒ el prerequisito grande ya está. Habilita los schedulers scx (T2.1).
|
depende de `BPF_SYSCALL && BPF_JIT && DEBUG_INFO_BTF` (kernel/Kconfig.preempt del tag) — y
|
||||||
|
la receta apaga BTF/DEBUG_INFO a propósito, más BTF exige pahole/dwarves en las deps de
|
||||||
|
build. Es tarea propia: receta `dwarves` + análisis de repro de BTF (pahole-skew) + medir
|
||||||
|
el costo en tamaño del bzImage. T2.1 (schedulers scx) queda gated por esto.
|
||||||
- **T1.3 — `HZ_1000` + preempt** en linux-metal (el perfil de latencia de escritorio/juego;
|
- **T1.3 — `HZ_1000` + preempt** en linux-metal (el perfil de latencia de escritorio/juego;
|
||||||
linux-generic puede quedarse como está — son perfiles distintos y por eso hay dos recetas).
|
linux-generic puede quedarse como está — son perfiles distintos y por eso hay dos recetas).
|
||||||
- **T1.4 — `split_lock_detect=off` en el CMDLINE embebido** (`CONFIG_CMDLINE`,
|
- **T1.4 — `split_lock_detect=off` en el CMDLINE embebido** (`CONFIG_CMDLINE`,
|
||||||
|
|||||||
@@ -9,6 +9,19 @@
|
|||||||
# +AUDIT (la jaula del anfitrión kikin J4b / harkaq), IO_URING (kikin J4 se diseña sobre él) y
|
# +AUDIT (la jaula del anfitrión kikin J4b / harkaq), IO_URING (kikin J4 se diseña sobre él) y
|
||||||
# BPF_SYSCALL (horizonte observabilidad) van EXPLÍCITOS: «al azar del defconfig» no es un contrato.
|
# BPF_SYSCALL (horizonte observabilidad) van EXPLÍCITOS: «al azar del defconfig» no es un contrato.
|
||||||
#
|
#
|
||||||
|
# PERFIL ESCRITORIO/JUEGO (plan-jaula-juegos T1 + joyas-reusables #1/#4, 2026-07-16):
|
||||||
|
# - NTSYNC: primitivas de sincronización NT en kernel (wine/proton moderno, reemplaza esync/fsync).
|
||||||
|
# Sin deps de Kconfig (verificado drivers/misc/Kconfig del tag); tristate ⇒ =y con MODULES=off.
|
||||||
|
# - PREEMPT full + HZ_1000: latencia de escritorio. El defconfig ya trae HZ_1000 pero VOLUNTARY de
|
||||||
|
# preempt; ambos van explícitos — mismo argumento kikin, el perfil es contrato, no azar.
|
||||||
|
# - LRU_GEN(+ENABLED): MGLRU, responsividad bajo presión de memoria (probado ChromeOS/Android).
|
||||||
|
# - ZRAM+ZSMALLOC: swap comprimido; el perfil de arje lo activa en runtime, el kernel sólo lo trae.
|
||||||
|
# - EROFS_FS+FS_VERITY: sustrato composefs (joyas #1 / cierre §5) — hidratación montada con verity.
|
||||||
|
# - CMDLINE += split_lock_detect=off: juegos con locks mal alineados sufren el castigo del detector.
|
||||||
|
# sched-ext queda DIFERIDO: en 6.16.12 SCHED_CLASS_EXT depende de DEBUG_INFO_BTF (verificado en
|
||||||
|
# kernel/Kconfig.preempt del tag), que esta receta apaga a propósito, y BTF exigiría pahole/dwarves
|
||||||
|
# en las deps ⇒ tarea propia con su propio análisis de repro, no viaja de polizón en este re-sellado.
|
||||||
|
#
|
||||||
# Target concreto: laptop TigerLake-LP (Intel Iris Xe + Wi-Fi 6 AX201 [8086:a0f0]), boot EFI.
|
# Target concreto: laptop TigerLake-LP (Intel Iris Xe + Wi-Fi 6 AX201 [8086:a0f0]), boot EFI.
|
||||||
# - Pantalla: DRM_I915 (driver Intel real — el panel TigerLake se APAGA tras ExitBootServices sin él;
|
# - Pantalla: DRM_I915 (driver Intel real — el panel TigerLake se APAGA tras ExitBootServices sin él;
|
||||||
# efifb/simpledrm escriben a un fb muerto → pantalla negra en metal, validado 2026-06-23)
|
# efifb/simpledrm escriben a un fb muerto → pantalla negra en metal, validado 2026-06-23)
|
||||||
@@ -71,6 +84,8 @@ scripts/config -d MODULE_SIG -d MODULE_SIG_ALL -d DEBUG_INFO_BTF -d DEBUG_INFO -
|
|||||||
-e FANOTIFY -e FANOTIFY_ACCESS_PERMISSIONS \
|
-e FANOTIFY -e FANOTIFY_ACCESS_PERMISSIONS \
|
||||||
-e OVERLAY_FS_REDIRECT_DIR -e OVERLAY_FS_INDEX -e OVERLAY_FS_XINO_AUTO -e OVERLAY_FS_METACOPY \
|
-e OVERLAY_FS_REDIRECT_DIR -e OVERLAY_FS_INDEX -e OVERLAY_FS_XINO_AUTO -e OVERLAY_FS_METACOPY \
|
||||||
-e SECURITY -e SECURITY_LANDLOCK -e AUDIT -e IO_URING -e BPF_SYSCALL \
|
-e SECURITY -e SECURITY_LANDLOCK -e AUDIT -e IO_URING -e BPF_SYSCALL \
|
||||||
|
-e NTSYNC -d PREEMPT_VOLUNTARY -e PREEMPT -e HZ_1000 -e LRU_GEN -e LRU_GEN_ENABLED \
|
||||||
|
-e ZRAM -e ZSMALLOC -e EROFS_FS -e FS_VERITY \
|
||||||
-e VIRTIO -e VIRTIO_PCI -e VIRTIO_BLK -e VIRTIO_NET -e EXT4_FS \
|
-e VIRTIO -e VIRTIO_PCI -e VIRTIO_BLK -e VIRTIO_NET -e EXT4_FS \
|
||||||
-e PCI -e PCIEPORTBUS -e ACPI \
|
-e PCI -e PCIEPORTBUS -e ACPI \
|
||||||
-e SATA_AHCI -e ATA -e ATA_PIIX -e SCSI -e BLK_DEV_SD -e BLK_DEV_LOOP \
|
-e SATA_AHCI -e ATA -e ATA_PIIX -e SCSI -e BLK_DEV_SD -e BLK_DEV_LOOP \
|
||||||
@@ -96,7 +111,7 @@ scripts/config -d MODULE_SIG -d MODULE_SIG_ALL -d DEBUG_INFO_BTF -d DEBUG_INFO -
|
|||||||
-d SOUND -d SND -d MEDIA_SUPPORT -d INFINIBAND -d BT -d NFC -d CAN \
|
-d SOUND -d SND -d MEDIA_SUPPORT -d INFINIBAND -d BT -d NFC -d CAN \
|
||||||
-d WATCHDOG -d THUNDERBOLT -d FIREWIRE -d DEBUG_WX \
|
-d WATCHDOG -d THUNDERBOLT -d FIREWIRE -d DEBUG_WX \
|
||||||
-d XFS_FS -d BTRFS_FS -d F2FS_FS -d JFS_FS -d REISERFS_FS -d GFS2_FS -d NTFS3_FS && \
|
-d XFS_FS -d BTRFS_FS -d F2FS_FS -d JFS_FS -d REISERFS_FS -d GFS2_FS -d NTFS3_FS && \
|
||||||
scripts/config --set-str CMDLINE "console=tty0 console=ttyS0,115200 quiet loglevel=3 vt.global_cursor_default=0 efi=novamap initrd=/initramfs.cpio.gz rdinit=/init" && \
|
scripts/config --set-str CMDLINE "console=tty0 console=ttyS0,115200 quiet loglevel=3 vt.global_cursor_default=0 efi=novamap split_lock_detect=off initrd=/initramfs.cpio.gz rdinit=/init" && \
|
||||||
make ARCH=x86_64 olddefconfig
|
make ARCH=x86_64 olddefconfig
|
||||||
"""
|
"""
|
||||||
compile = "make ARCH=x86_64 CC=gcc HOSTCC=gcc -j\"$(nproc)\" bzImage"
|
compile = "make ARCH=x86_64 CC=gcc HOSTCC=gcc -j\"$(nproc)\" bzImage"
|
||||||
|
|||||||
Reference in New Issue
Block a user