On Wed, 30 Jan 2019, Waiman Long wrote: > On 01/30/2019 07:31 AM, Thomas Gleixner wrote: > > --- a/include/linux/irqdesc.h > > +++ b/include/linux/irqdesc.h > > @@ -65,9 +65,10 @@ struct irq_desc { > > unsigned int core_internal_state__do_not_mess_with_it; > > unsigned int depth; /* nested irq disables */ > > unsigned int wake_depth; /* nested wake enables */ > > + unsigned int tot_count; > > unsigned int irq_count; /* For detecting broken IRQs */ > > - unsigned long last_unhandled; /* Aging timer for unhandled count */ > > unsigned int irqs_unhandled; > > + unsigned long last_unhandled; /* Aging timer for unhandled count */ > > atomic_t threads_handled; > > int threads_handled_last; > > raw_spinlock_t lock; > > Just one minor nit. Why you want to move the last_unhandled down one > slot? There were 5 int's before. Adding one more will just fill the > padding hole. Moving down the last_unhandled will probably leave 4-byte > holes in both above and below it assuming that raw_spinlock_t is 4 bytes. Unintentional wreckage. Will undo. Thanks for spotting it. Thanks, tglx