On Jan 3, 2010, at 1:42 AM, Michael van Elst wrote: > Module Name: src > Committed By: mlelstv > Date: Sun Jan 3 09:42:22 UTC 2010 > > Modified Files: > src/sys/kern: subr_pool.c > > Log Message: > drop __predict micro optimization in pool_init for cleaner code.
This change should be backed out. __predict_{true,false} are not only micro optimizations, they also document behavior of the program. And now that information is gone. They are similar to KASSERT in this way. For machine with small icaches, the use of the __predict_* macros can make a significant difference since GCC will move the non likely paths out of the way so that the "probable" instructions will be in a smaller set of consecutive cache lines reducing cache pressure.