> Would be good to have __fastpath and __slowpath function attributes. > > __fastpath would always be optimized for speed, __slowpath always > for size, and everything else would use the default (determined by > CONFIG_CC_OPTIMIZE_FOR_SIZE). > > Looks like gcc has support for this, with __attribute__((hot)), > __attribute__((cold)), and __attribute__((optimize)). I had patches for a long time, but last time I tried it didn't help too much. (basically make __init hot/cold and mark a few functions) Similar things can be also done with unrolling. The Optimize attribute is currently quite broken in gcc and shouldn't be used. The main reason I didn't post them is that I didn't want another likely/unlikely with people sprinkling them randomly and never looking at profile logs. I am to blame for likely()/unlikely() originally and it got abused so much that I regretted it alot. So I don't think just exposing that is a good idea right now. I think there are some other ways to do that better, but they will need more work. -Andi -- ak@xxxxxxxxxxxxxxx -- Speaking for myself only. -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html