Los parches x86/mm para Linux 7.3 incluyen una serie de parches desarrollados por Bytedance que buscan mejorar considerablemente las cargas de trabajo sensibles a la latencia.
Estos parches fueron diseñados para mejorar el rendimiento en tiempo real y reducir la latencia.
El ingeniero de Bytedance, Chuyi Zhou, explicó que en la serie de parches anterior la mayoría de las llamadas a smp_call_function*() esperaban a que las CPU remotas completaran la función IPI, lo que, junto con otros factores, aumentaba dramatically el retraso de planificación.
En arquitecturas x86-64, las limpiezas de TLB se realizan a través de IPI; por lo tanto, durante la salida del proceso o la recuperación de páginas sincronizadas, se deben esperar múltiples operaciones IPI, lo que incrementa el retraso de planificación para otros hilos.
En nuestros entornos de producción, observamos que el retraso de planificación asociado a la espera de IPI alcanzaba hasta 16 ms. Nuestro objetivo es permitir la interrupción разреш para mejorar la prioridad durante la finalización de IPI. Cargas de trabajo sensibles a la latencia como DPDK, al tener la prioridad más alta, pueden preemptar tareas de menor prioridad en cualquier momento.
Descubrimos que la latencia de activación de DPDK se debía a que hiện la CPU desactivaba su prioridad. Estos parches ahora se han fusionado para Linux 7.3 y este
