¿Cómo proteger una cpu del programador de linux (evitar que programe subprocesos en esa cpu)?

Es posible utilizarsched_setaffinity para enganchar un hilo a una cpu, aumentando el rendimiento (en algunas situaciones)

De la página man de linux:

Al restringir un proceso para que se ejecute en una sola CPU, también se evita el costo de rendimiento causado por la invalidación de la memoria caché que se produce cuando un proceso deja de ejecutarse en una CPU y, a continuación, vuelve a ejecutarse en una CPU diferente.

Además, si deseo una respuesta más en tiempo real, puedo cambiar la política del programador para ese hilo aSCHED_FIFO, y hasta la prioridad a algún valor alto (hastasched_get_priority_max), lo que significa que el hilo en cuestión siempre debe anticiparse a cualquier otro hilo que se ejecute en su CPU cuando esté listo.

Sin embargo, en este punto, el subproceso que se ejecuta en la cpu que el subproceso en tiempo real acaba de anular posiblemente habrá desalojado gran parte de las entradas de caché de nivel 1 del subproceso en tiempo real.

Mis preguntas son las siguientes:

¿Es posible evitar que el programador programe cualquier subproceso en una CPU determinada? (por ejemplo: oculte la CPU completamente del programador, o de alguna otra manera)¿Hay algunos hilos que tienen que ser absolutamente capaces de ejecutarse en esa CPU? (por ejemplo: hilos del núcleo / hilos de interrupción)Si necesito tener subprocesos del kernel ejecutándose en esa CPU, ¿cuál es un valor de prioridad máxima razonable para usar de tal manera que no se pierda de hambre los subprocesos del kernel?

Respuestas a la pregunta(3)

Su respuesta a la pregunta