On 30 March 2015 at 19:29, Peter Zijlstra peterz@infradead.org wrote:
Yeah, so that _should_ not trigger (obviously), and while I agree with the sentiment of sanity checks, I'm not sure its worth keeping that variable around just for that.
I read it as I can remove it then ? :)
Anyway, while I'm looking at struct tvec_base I notice the cpu member should be second after the lock, that'll save 8 bytes on the structure on 64bit machines.
Hmm, I tried it on my macbook-pro.
$ uname -a Linux vireshk 3.13.0-46-generic #79-Ubuntu SMP Tue Mar 10 20:06:50 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
$ gcc --version gcc (Ubuntu 4.8.2-19ubuntu1) 4.8.2
config: arch/x86/configs/x86_64_defconfig
And all I get it is 8256 bytes, with or without the change.
diff --git a/kernel/time/timer.c b/kernel/time/timer.c index 2d3f5c504939..afc5d74678df 100644 --- a/kernel/time/timer.c +++ b/kernel/time/timer.c @@ -77,12 +77,12 @@ struct tvec_root {
struct tvec_base { spinlock_t lock; + int cpu; struct timer_list *running_timer; unsigned long timer_jiffies; unsigned long next_timer; unsigned long active_timers; unsigned long all_timers; - int cpu; struct tvec_root tv1; struct tvec tv2; struct tvec tv3;