Hi,
Yes, I thought -O3 was the default on CMAKE builds.
I don't know, but it seems (in config.cmake) that it's the same as in RBUILD builds.
I'm not sure why you would want kernel code to be "smaller" instead of "faster" though -- on modern processors for cases like interrupts and such, large-but-correctly-aligned-and-optimized code is faster than less-bytes-per-instruction/opcode-packed code.
I think these "hot" parts of kernel should be optimized for speed, while other, less frequently used functions -- for size (or it turns that they just waste memory).