On Sun, 30 Mar 2008, Erik Mouw wrote: > On Sat, Mar 29, 2008 at 04:03:18AM -0400, Robert P. J. Day wrote: > > is there somewhere an actual quantification (is that a word?) to > > the benefits of likely() and unlikely() in the kernel code? i've > > always been curious about what difference those constructs made. > > thanks. > > They are macros around __builtin_expect(), which can be used to > provide the compiler with branch prediction information. In the > kernel, you see likely()/unlikely() usually used in error handling: > most of the times you don't get an error, so tell the compiler to > lay out the code in such a way that the error handling block becomes > a branch and the normal code flows just straight. Something like: > > > if(unlikely(ptr == NULL)) { > printk(KERN_EMERG "AARGH\n"); > panic(); > } > > foo(ptr); oh, i realize what they *represent*. what i was curious about was the actual numerical *benefit*. as in, performance analysis and how much of a difference it really makes. did someone do any benchmarking? rday -- ======================================================================== Robert P. J. Day Linux Consulting, Training and Annoying Kernel Pedantry: Have classroom, will lecture. http://crashcourse.ca Waterloo, Ontario, CANADA ======================================================================== -- To unsubscribe from this list: send an email with "unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx Please read the FAQ at http://kernelnewbies.org/FAQ