I only deleted one unlikely() from around an unlikely(!pskb_may_pull()) check. I made sure that the line numbers and debug symbols all stayed exactly the same... I just re-ran my experiment with the same results. It's weird that you're getting different object code. This stuff isn't a new feature in GCC, it's at least 10 years old. regards, dan carpenter