Skip to contentSkip to conversation

timer_list: remove alignment padding on 64 bit when CONFIG_TIMER_STATS

PATCH New Richard Kennedy 1 participant 1 message Jul 26, 2010 High-resolution timers, timer wheel, clockevents

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 timer_list: remove alignment padding on 64 bit when CONFIG_TIMER_STATS

Re-order structure timer_list to remove 8 bytes of alignment padding on 64 bit builds when CONFIG_TIMER_STATS is selected.

timer_list is widely used across the kernel so many structures will benefit and shrink in size.

For example, with my config on x86_64
per_cpu_dm_data shrinks from 136 to 128 bytes
and
ahci_port_priv shrinks from 1032 to 968 bytes.

---
patch against v2.6.35-rc6
compiled & tested on x86_64

regards
Richard

include/linux/timer.h +1 -1
index ea965b8..14a6fd4 100644
@@ -24,9 +24,9 @@ struct timer_list {
 	int slack;
 
 #ifdef CONFIG_TIMER_STATS
+	int start_pid;
 	void *start_site;
 	char start_comm[16];
-	int start_pid;
 #endif
 #ifdef CONFIG_LOCKDEP
 	struct lockdep_map lockdep_map;