Messages in this thread Patch in this message | | | Subject | Re: [RFC patch 5/5] genirq: make irq threading robust | From | Jon Masters <> | Date | Wed, 01 Oct 2008 20:52:31 -0400 |
| |
On Wed, 2008-10-01 at 23:02 +0000, Thomas Gleixner wrote:
> To make sure that a crashed irq thread does not cause more trouble > when the irq code tries to wake up a gone thread or the device code > calling free_irq and trying to kthread_stop the dead thread, we plug a > pointer to irqaction into task_struct, which is evaluated in > do_exit(). When the thread crashes the do_exit code marks the thread > as DIED in irqaction->flags to prevent further wakeups from the > interrupt handler code.
> @@ -1301,6 +1301,7 @@ struct task_struct { > int latency_record_count; > struct latency_record latency_record[LT_SAVECOUNT]; > #endif > + struct irqaction *irqaction; > };
Is that going to fly? For the vast majority of task_structs this is now a wasted 4/8 bytes that won't be used.
Jon.
| |