¿Cómo funcionan las macros probables / improbables en el kernel de Linux y cuál es su beneficio?

Estuve investigando algunas partes del kernel de Linux y encontré llamadas como esta: if (unlikely(fd < 0)) { /* Do something */ } o if (likely(!err)) { /* Do something */ } He encontrado la definición de ellos: #define likely(x) __builtin_expect((x),1) #define unlikely(x)...