Commit Graph
761 Commits
Author SHA1 Message Date
Sergio b1f56ea7e3 estado: cosecha granja 2026-08-31T21:01:49Z — avance del árbol KDE 2026-08-31 21:01:49 +00:00
SergioandClaude Opus 5 56e59b821a SDD 25 H7: BTF cuesta +14,97% de bzImage — medido construyendo, no estimado
Era el ultimo hueco medible de SDD 25 en esta maquina: H7 tenia el precio en cuatro partes
pero no el numero en bytes, que es como se pago H1.

Se construyo una copia derivada de linux-generic con UNA sola diferencia en el .config
(DEBUG_INFO_DWARF5 + DEBUG_INFO_BTF) y todo lo demas byte a byte igual:

  bzImage sin BTF : 16 937 984 B
  bzImage con BTF : 19 473 408 B   (+2 535 424 B = +2,42 MiB = +14,97%)
  seccion .BTF    :  7 888 166 B sin comprimir, entran comprimidos 3,11x

Contra la unica vara comparable: H1 (MEMCG+PSI) costo +80 KiB / +0,49% del mismo bzImage
=> BTF cuesta 31 veces eso. No lo decide, pero lo saca de "un re-hasheo y ya".

Sobre linux-generic y no sobre linux, que es mas barato: BTF tiene depends on BPF_SYSCALL y
el .config sellado de linux lo trae APAGADO, asi que medir ahi habria mezclado dos precios.

TRES cosas que salieron construyendo y no leyendo:

1. Una QUINTA parte del precio que nadie habia nombrado: hace falta python3. BTF hace que
   kbuild descienda a tools/bpf/resolve_btfids, que compila un libbpf vendorizado cuyo
   Makefile genera bpf_helper_defs.h con un script de Python (Error 127).

2. El numero de Artix fallaba en la direccion CONTRARIA a la esperable. El doc decia que sus
   6,4 MB "no dicen nada de uno monolitico y pelado"; el nuestro sale MAS GRANDE, 7,5 MiB.
   Artix es modular y su .BTF cubre solo el core built-in; el nuestro es monolitico y los
   tipos de i915+nouveau+radeon+iwlwifi entran todos.

3. Una trampa de kconfig que es CLAUDE.md §3 dentro de make: scripts/pahole-version.sh
   imprime 0 si pahole no esta en el PATH, el depends on PAHOLE_VERSION >= 122 deja de
   cumplirse, y olddefconfig BORRA la linea en silencio. El build sale OK y sella un kernel
   SIN BTF diciendo que todo fue bien. Por eso la receta comprueba el .config PRODUCIDO y
   sale 1 si no esta. Salio OK, lo que ademas paga la parte (3) del precio: el pahole
   estatico de ayer se encuentra y se ejecuta DENTRO del sandbox.

El artefacto de medicion se borro a proposito: `hammer kernel contract --sealed` lo listaba
como SIN COMPROBAR (no declara [[target]], que es lo que exige H8), o sea un aviso permanente
en un fichero que el cron commitea cada 30 min. Un aviso fijo que no corresponde a ningun
problema es como se deja de leer un vigia. La receta derivada queda en la evidencia.

Nada del corpus se re-hasheo: la derivada vive fuera de recipes/ y el catalogo se le presta
por symlinks.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01ACUcwo9mZsE5ocYVE9npih
2026-08-31 20:55:26 +00:00
Sergio ad485d5a01 estado: cosecha granja 2026-08-31T20:32:54Z — avance del árbol KDE 2026-08-31 20:32:55 +00:00
Sergio b739a1fb79 estado: cosecha granja 2026-08-31T19:31:49Z — avance del árbol KDE 2026-08-31 19:31:49 +00:00
Sergio 68cf8b2612 estado: cosecha granja 2026-08-31T19:01:51Z — avance del árbol KDE 2026-08-31 19:01:51 +00:00
Sergio a187ad4c70 estado: cosecha granja 2026-08-31T18:31:57Z — avance del árbol KDE 2026-08-31 18:31:57 +00:00
Sergio 507d8de51c estado: cosecha granja 2026-08-31T18:01:58Z — avance del árbol KDE 2026-08-31 18:01:58 +00:00
Sergio b051b55758 estado: cosecha granja 2026-08-31T17:01:57Z — avance del árbol KDE 2026-08-31 17:01:57 +00:00
Sergio bac263be0c estado: cosecha granja 2026-08-31T16:31:56Z — avance del árbol KDE 2026-08-31 16:31:56 +00:00
Sergio 4c45e2d76e estado: cosecha granja 2026-08-31T16:02:55Z — avance del árbol KDE 2026-08-31 16:02:55 +00:00
Sergio 0e69546065 estado: cosecha granja 2026-08-31T15:32:25Z — avance del árbol KDE 2026-08-31 15:32:26 +00:00
Sergio 4d70466bea estado: cosecha granja 2026-08-31T15:02:14Z — avance del árbol KDE 2026-08-31 15:02:14 +00:00
Sergio 354cc4a83c estado: cosecha granja 2026-08-31T14:32:17Z — avance del árbol KDE 2026-08-31 14:32:17 +00:00
SergioandClaude Opus 5 84cbf968ba SDD 25 §9.5: el 7x mueve la telemetria de lado de la frontera de privilegio
El iterador pide CAP_BPF+CAP_PERFMON, y en tawasuyu el barrido de /proc de hoy
vive en `sandokan-local`, que corre SIN privilegio (se mete en un user
namespace a proposito). El unico proceso privilegiado es `sandokan-daemon`
—lo dice su propio cortafuegos.rs—. Verificado leyendo el repo espejo, no
supuesto: W2 por esta via no es un reemplazo en el lugar, cruza la frontera.
Es un coste de diseño que el cociente de 7x no muestra.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01ACUcwo9mZsE5ocYVE9npih
2026-08-31 14:12:26 +00:00
SergioandClaude Opus 5 09168bf1e3 SDD 25 §9.5: el iterador BPF, medido — y H7 pasa a tener precio
Cae el quinto de los seis experimentos nombrados. Un `iter/task` que emite
registros binarios saca la foto de procesos cerca de 7x mas barato que el
barrido de /proc (6,9-8,0x en cuatro corridas de 33 rondas y las dos
direcciones), pero el numero que decide es otro: cuesta 1,75x el piso de
`readdir` contra 12,1x de /proc. Leer los campos deja de tener precio; lo que
se paga es enumerar.

Dos barreras comprobadas, no supuestas: el programa se ata por id de tipo BTF
del vmlinux (attach_btf_id=80137, prog_type=26) — sin DEBUG_INFO_BTF no hay a
que atarse, no hay version de esto que esquive H7 —, y hace falta
CAP_BPF+CAP_PERFMON, o sea que el consumidor es el supervisor, no la Card.

Y los dos caminos NO dicen lo mismo: 24 de 245 comm difieren, todos kworkers,
porque /proc SINTETIZA el nombre pegandole la workqueue. Un reemplazo vendido
como «la misma informacion mas rapido» tenia una diferencia de contenido, y
solo aparecio cotejando registro contra registro.

H7 deja de decir «pahole en el lab y un re-hasheo». Son cuatro cosas:
DEBUG_INFO_NONE=y en los .config sellados (BTF exige DWARF antes), el kernel
no declara la receta dwarves aunque este sellada, ese pahole es DINAMICO pese
a link="static" (INTERP + 5 NEEDED) y corre dentro del sandbox del build, y
BTF mete la version de pahole en la bit-repro con el lab fuera de hash_inputs.
Ya hay dos consumidores nombrados, no cero: este iterador y sched-ext.

Lo que sigue SIN medir es el precio en bytes del bzImage, que es como se pago
H1 — se mide construyendo, y esa es la primera tarea el dia que se decida.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01ACUcwo9mZsE5ocYVE9npih
2026-08-31 14:08:40 +00:00
Sergio 8fef37dd19 estado: cosecha granja 2026-08-31T14:02:09Z — avance del árbol KDE 2026-08-31 14:02:09 +00:00
Sergio 43b07ce004 estado: cosecha granja 2026-08-31T13:31:56Z — avance del árbol KDE 2026-08-31 13:31:56 +00:00
Sergio c2deb11d56 estado: cosecha granja 2026-08-31T13:02:33Z — avance del árbol KDE 2026-08-31 13:02:33 +00:00
Sergio 04f2af8bf6 estado: cosecha granja 2026-08-31T10:01:55Z — avance del árbol KDE 2026-08-31 10:01:55 +00:00
Sergio 9e1a45688d estado: cosecha granja 2026-08-31T09:31:59Z — avance del árbol KDE 2026-08-31 09:31:59 +00:00
Sergio 6e0942d7db estado: cosecha granja 2026-08-31T09:02:01Z — avance del árbol KDE 2026-08-31 09:02:01 +00:00
Sergio 14d088e644 estado: cosecha granja 2026-08-31T08:31:59Z — avance del árbol KDE 2026-08-31 08:31:59 +00:00
Sergio c04f2a6e01 estado: cosecha granja 2026-08-31T08:02:11Z — avance del árbol KDE 2026-08-31 08:02:11 +00:00
Sergio 23cd4c2e82 estado: cosecha granja 2026-08-31T07:32:17Z — avance del árbol KDE 2026-08-31 07:32:17 +00:00
Sergio 0e1b320b5c estado: cosecha granja 2026-08-31T07:02:04Z — avance del árbol KDE 2026-08-31 07:02:04 +00:00
Sergio 5c691a292d estado: cosecha granja 2026-08-31T06:02:13Z — avance del árbol KDE 2026-08-31 06:02:13 +00:00
Sergio ae321b9cd2 estado: cosecha granja 2026-08-31T05:32:12Z — avance del árbol KDE 2026-08-31 05:32:12 +00:00
Sergio efa52d989a estado: cosecha granja 2026-08-31T05:02:06Z — avance del árbol KDE 2026-08-31 05:02:06 +00:00
Sergio 36209826ef estado: cosecha granja 2026-08-31T04:32:02Z — avance del árbol KDE 2026-08-31 04:32:02 +00:00
Sergio e0bcef6d8c estado: cosecha granja 2026-08-31T04:02:08Z — avance del árbol KDE 2026-08-31 04:02:08 +00:00
Sergio 8ecd500a1e estado: cosecha granja 2026-08-31T03:32:03Z — avance del árbol KDE 2026-08-31 03:32:03 +00:00
Sergio b421eb50f1 estado: cosecha granja 2026-08-31T03:02:05Z — avance del árbol KDE 2026-08-31 03:02:05 +00:00
SergioandClaude Opus 5 856e55131c estado: COSMIC 90/90 — LOS 7 PERFILES CIERRAN
Las 24 en deuda selladas, más clang18. base 52/52, cli 75/75, mirada 33/33, KDE 163/163,
sway 129/129, GNOME 119/119, COSMIC 90/90. Cero artefactos vacíos en 2103.

Las dos últimas (`cosmic-settings`, `cosmic-applets`) no cedieron al paralelismo: habían
caído con 3, 2 y 1 core. Lo que las destrabó fue MEMORIA, y la vía compatible con T9 es
zram, no swap en disco: se midió que el zram comprime a 4x real (1,9 G de páginas en
478 MB de RAM) y que los 4 GiB de `swap-zram` son sólo su default, sin justificación.

Se añadió un SEGUNDO dispositivo zram en vez de redimensionar el primero: redimensionar
exige `swapoff`, y con 1,94 G dentro y 994 MB de RAM libre eso es el escenario exacto que
volteó la máquina el 2026-08-17 —el propio script lo advierte y tiene freno—. Verificado
`backing_dev=none` en el dispositivo nuevo, que es el único agujero de zram contra T9.

`cosmic-settings` selló después con 3 cores, la misma config con la que había fallado ⇒
el paralelismo nunca fue la causa, sólo esquivaba el síntoma.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LykB7vw38b4Ck1Zij15RQ4
2026-08-31 02:40:27 +00:00
Sergio 5606e99c4d estado: cosecha granja 2026-08-31T01:32:33Z — avance del árbol KDE 2026-08-31 01:32:33 +00:00
Sergio 362ba5d53f estado: cosecha granja 2026-08-31T01:02:31Z — avance del árbol KDE 2026-08-31 01:02:31 +00:00
Sergio 2f2249ef0b estado: cosecha granja 2026-08-31T00:32:11Z — avance del árbol KDE 2026-08-31 00:32:11 +00:00
SergioandClaude Opus 5 0ac6fbfb5b targets: el perfil GNOME ya no reclama las 3 recetas aparcadas por diseño
`targets.toml` declaraba gnome-session, gnome-settings-daemon y gdm como raíces del
perfil, mientras el encabezado de las tres recetas dice "APARCADA por diseño" desde el
2026-08-07, verificado contra el meson.build de cada tag: las tres mueren en GTK3, que es
una de las tres deudas que el frente GNOME aparcó a propósito (GTK3 / X11 / PAM).

Dos documentos del repo decían cosas opuestas, y el que se mira primero es el grafo. El
resultado era deuda FANTASMA: escritorio-gnome reportaba 124/127 con 3 en `never` para
siempre, se leía como trabajo pendiente, y el worker las reintentaba en cada ciclo. En
esta misma sesión me hizo afirmar dos veces que GNOME estaba "a 3 recetas de cerrar".

No bloquean el escritorio: gnome-shell no depende de gnome-session ni de g-s-d, ni en
build ni para arrancar. El camino vivo es mutter → gnome-shell, lanzado por arje; el
único que pedía gnome-session era gdm.

Las recetas SIGUEN en el repo con su análisis intacto. Si algún día se autora GTK3, se
vuelven a añadir a `paquetes` y el objetivo reaparece solo.

escritorio-gnome: 119/119, CIERRA.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LykB7vw38b4Ck1Zij15RQ4
2026-08-31 00:05:24 +00:00
Sergio 1ac3ff3318 estado: cosecha granja 2026-08-30T23:32:00Z — avance del árbol KDE 2026-08-30 23:32:00 +00:00
Sergio 67697f86c8 estado: cosecha granja 2026-08-30T23:01:59Z — avance del árbol KDE 2026-08-30 23:01:59 +00:00
Sergio 75dddc0e86 estado: cosecha granja 2026-08-30T21:01:58Z — avance del árbol KDE 2026-08-30 21:01:58 +00:00
Sergio c1b71cb1cc estado: cosecha granja 2026-08-30T20:31:43Z — avance del árbol KDE 2026-08-30 20:31:43 +00:00
Sergio c09ad0f1bc estado: cosecha granja 2026-08-30T20:02:03Z — avance del árbol KDE 2026-08-30 20:02:03 +00:00
Sergio be8de4db24 estado: cosecha granja 2026-08-30T19:32:06Z — avance del árbol KDE 2026-08-30 19:32:06 +00:00
Sergio 94b9d0c6c0 estado: cosecha granja 2026-08-30T19:01:59Z — avance del árbol KDE 2026-08-30 19:01:59 +00:00
Sergio dd36ddebe2 estado: cosecha granja 2026-08-30T18:32:00Z — avance del árbol KDE 2026-08-30 18:32:00 +00:00
Sergio 30a319751b estado: cosecha granja 2026-08-30T18:01:58Z — avance del árbol KDE 2026-08-30 18:01:58 +00:00
Sergio 0e8aa5364e estado: cosecha granja 2026-08-30T17:32:05Z — avance del árbol KDE 2026-08-30 17:32:05 +00:00
Sergio 8a87b78a75 estado: cosecha granja 2026-08-30T16:32:01Z — avance del árbol KDE 2026-08-30 16:32:01 +00:00
Sergio 5d7c01d9a4 estado: cosecha granja 2026-08-30T15:01:59Z — avance del árbol KDE 2026-08-30 15:01:59 +00:00
Sergio cd919913d0 estado: cosecha granja 2026-08-30T14:32:09Z — avance del árbol KDE 2026-08-30 14:32:09 +00:00