Saltar al contenido
agentusecases
Software y DevOps

Usar Claude Code para acelerar el caché de páginas del kernel de Linux

Linus Torvalds dirigió a Claude Code contra un cuello de botella antiguo del kernel, en el que varios hilos que leen el mismo archivo compiten por el conteo de referencias de las folios. El agente escribió la implementación, los programas de prueba, la revisión y el primer borrador de la carta de presentación, y Torvalds corrió los benchmarks en su propia máquina.

Cómo funciona

  1. Elige un cuello de botella bien medido y descríbele al agente el problema, los intentos anteriores y por qué fallaron.

  2. Pide al agente que escriba la implementación junto con programas de prueba que reproduzcan la contención.

  3. Corre tú mismo los benchmarks en hardware real y devuelve los números al agente para ajustar el enfoque.

  4. Pide al agente una revisión crítica de la serie y el borrador del mensaje de envío, y declara el uso del LLM en el parche.

  5. Envía la serie a revisión humana e incorpora las correcciones que encuentren los mantenedores.

Prompt

Cambia lo que esté entre [corchetes] por tus datos.

prompt.txt
Quiero eliminar la contención en el conteo de referencias de las folios cuando muchos hilos hacen lecturas pequeñas del mismo archivo en caché. Estudia la ruta de lectura con búfer en mm/filemap.c, explica por qué los enfoques anteriores tenían condiciones de carrera con el reclaim y el reemplazo de folios, y propón una serie de parches que lea del page cache sin tomar referencia. Escribe también un programa de prueba multihilo que mida lecturas por segundo y ciclos por lectura. No declares nada como seguro sin explicar el razonamiento: yo voy a correr los benchmarks y la serie pasará por la revisión de los mantenedores.

Resultado reportado

Las lecturas con 8 hilos subieron de 10 a 33 millones por segundo en la laptop de Torvalds; la versión revisada pasó de 13,3 a 304 millones por segundo en un Threadripper de 64 hilos (unas 23x), en prueba sintética. Los revisores hallaron una carrera antes del merge.

Según lo reportado por la fuente. Los resultados dependen de tu configuración y de tus datos.

Casos de uso relacionados

Todo en Software y DevOps