Commit Graph
782 Commits
Author SHA1 Message Date
Sergio e2d4a17bfc estado: cosecha granja 2026-09-01T07:31:52Z — avance del árbol KDE 2026-09-01 07:31:52 +00:00
Sergio e546790d35 estado: cosecha granja 2026-09-01T07:01:57Z — avance del árbol KDE 2026-09-01 07:01:57 +00:00
Sergio eb91c3a815 estado: cosecha granja 2026-09-01T06:31:54Z — avance del árbol KDE 2026-09-01 06:31:54 +00:00
Sergio 38d199543b estado: cosecha granja 2026-09-01T06:01:52Z — avance del árbol KDE 2026-09-01 06:01:52 +00:00
Sergio 84ffd096f0 estado: cosecha granja 2026-09-01T05:31:57Z — avance del árbol KDE 2026-09-01 05:31:57 +00:00
Sergio 9fbd15c30e estado: cosecha granja 2026-09-01T05:01:52Z — avance del árbol KDE 2026-09-01 05:01:52 +00:00
Sergio 25b753a0a3 estado: cosecha granja 2026-09-01T04:31:51Z — avance del árbol KDE 2026-09-01 04:31:51 +00:00
Sergio 91afe77297 estado: cosecha granja 2026-09-01T04:01:52Z — avance del árbol KDE 2026-09-01 04:01:52 +00:00
Sergio 1881ca5f9f estado: cosecha granja 2026-09-01T03:31:49Z — avance del árbol KDE 2026-09-01 03:31:49 +00:00
Sergio 7bd0631f3b estado: cosecha granja 2026-09-01T03:01:49Z — avance del árbol KDE 2026-09-01 03:01:49 +00:00
Sergio 9221f640a3 estado: cosecha granja 2026-09-01T02:31:50Z — avance del árbol KDE 2026-09-01 02:31:50 +00:00
Sergio dd5fce1584 estado: cosecha granja 2026-09-01T02:02:09Z — avance del árbol KDE 2026-09-01 02:02:09 +00:00
Sergio bb681a066e estado: cosecha granja 2026-09-01T01:31:51Z — avance del árbol KDE 2026-09-01 01:31:51 +00:00
Sergio 5662688e8c estado: cosecha granja 2026-09-01T01:02:06Z — avance del árbol KDE 2026-09-01 01:02:06 +00:00
Sergio ffbc9a9c2a estado: cosecha granja 2026-09-01T00:32:04Z — avance del árbol KDE 2026-09-01 00:32:04 +00:00
Sergio c668184419 estado: cosecha granja 2026-09-01T00:01:58Z — avance del árbol KDE 2026-09-01 00:01:58 +00:00
Sergio e77102504c estado: cosecha granja 2026-08-31T23:31:55Z — avance del árbol KDE 2026-08-31 23:31:55 +00:00
Sergio e94479bf5f estado: cosecha granja 2026-08-31T23:01:49Z — avance del árbol KDE 2026-08-31 23:01:49 +00:00
Sergio 5305e5a1e1 estado: cosecha granja 2026-08-31T22:31:56Z — avance del árbol KDE 2026-08-31 22:31:56 +00:00
Sergio f6fb674803 estado: cosecha granja 2026-08-31T22:01:49Z — avance del árbol KDE 2026-08-31 22:01:49 +00:00
Sergio 84be3c7194 estado: cosecha granja 2026-08-31T21:31:57Z — avance del árbol KDE 2026-08-31 21:31:57 +00:00
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