Jak działają prawdopodobne / mało prawdopodobne makra w jądrze Linuksa i jakie są ich zalety?

Przekopałem się przez niektóre części jądra Linuxa i znalazłem takie wywołania: if (unlikely(fd < 0)) { /* Do something */ } lub if (likely(!err)) { /* Do something */ } Znalazłem ich definicję: #define likely(x) __builtin_expect((x),1) #define unlikely(x) __builtin_expect((x),0) Wiem,...