Bagaimana makro yang mungkin / tidak mungkin dalam kernel Linux bekerja dan apa manfaatnya?

Saya telah menggali beberapa bagian dari kernel Linux, dan menemukan panggilan seperti ini: if (unlikely(fd < 0)) { /* Do something */ } atau if (likely(!err)) { /* Do something */ } Saya telah menemukan definisi mereka: #define likely(x) __builtin_expect((x),1) #define unlikely(x)...