Hi, It seems that gcc happily compiles for (i = 0; i < 1000000000; ++i) ; into simply i = 1000000000; (which is then usually eliminated as a dead store). At least at -O2, and when i is not declared volatile. So it would seem that the loops at arch/mips/pci/pci-rt2880.c:235 arch/mips/pmcs-msp71xx/msp_setup.c:80 arch/mips/sni/reset.c:35 actually don't do anything. (In the middle one, i is 'register', but that doesn't change anything.) Is mips compiled with some special flags that would make gcc actually emit code for the above? Rasmus