On Wed, May 22, 2013 at 02:04:16PM +0530, Viresh Kumar wrote:
So, this is the clean draft for the idea I had.. (Naming is poor for now):
diff --git a/include/linux/timer.h b/include/linux/timer.h index 8c5a197..ad00ebe 100644 --- a/include/linux/timer.h +++ b/include/linux/timer.h @@ -20,6 +20,7 @@ struct timer_list {
void (*function)(unsigned long); unsigned long data;
int wait_for_migration_to_complete;
If you play games with the alignment constraints of struct tvec_base you can get extra low bits to play with for TIMER_FLAG_MASK. See struct pool_workqueue for similar games.
That would avoid the struct bloat and I suppose make tglx happy :-)