El procesamiento de paquetes UDP entrantes en el núcleo de Linux se ha acelerado en un 12%.

En la base de código que forma el núcleo de Linux 7.0, se han adoptado un conjunto de cambios, durante las pruebas de estrés en una red de 100 gigabits, que permitieron aumentar la eficiencia del procesamiento de paquetes UDP entrantes en un 12%. La optimización se realizó a través de la inclusión manual de 2 funciones. Se señala que la función timecounter_cyc2time() puede ser llamada por cada paquete entrante, dado que los protocolos modernos requieren el registro del tiempo de llegada del paquete. Debido a esto, en condiciones de carga elevada, servidor la función timecounter_cyc2time() puede ser llamada más de 100 millones de veces por segundo.

En esta situación, las optimizaciones automáticas aplicadas por el compilador, como FDO (Optimización Dirigida por Retroalimentación), LTO (Optimización en Tiempo de Vinculación) y PGO (Optimización Guiada por Perfil), no pudieron detectar el segmento caliente del código y lo ignoraron, aparentemente debido a que los controladores de las tarjetas de red se distribuyen en forma de módulos separados. Sin embargo, la expansión manual en línea de la función dio una ganancia significativa en el rendimiento.

Fuente: opennet.ru

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster