User: Password:
Subscribe / Log in / New account

Re: [RFC patch 5/5] genirq: make irq threading robust

From:  Jon Masters <>
To:  Thomas Gleixner <>
Subject:  Re: [RFC patch 5/5] genirq: make irq threading robust
Date:  Wed, 01 Oct 2008 20:52:31 -0400
Message-ID:  <>
Cc:  LKML <>, Linus Torvalds <>, Andrew Morton <>, Ingo Molnar <>, Arjan van de Veen <>, Benjamin Herrenschmidt <>, Steven Rostedt <>, Sven Dietrich <>
Archive-link:  Article

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.


(Log in to post comments)

Copyright © 2008, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds