hi, > can any one explain the likely/unlikely macros > what is their purpose ,where they should be used? Some architectures support static compile-originated branch prediction information, which means that compilers *may* add information about the likelihood of the result of some branches, which, in turn, *may* be used by the hardware for branch prediction. Branch Prediction is a common and highly effective technique for an hardware to speculatively continue executing instructions out-of-order. the likely/unlikely macros are the way you may add this static information, thus help the machine to execute your code faster. HTH, Ohad. -- Kernelnewbies: Help each other learn about the Linux kernel. Archive: http://mail.nl.linux.org/kernelnewbies/ FAQ: http://kernelnewbies.org/faq/