Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753411AbYJBAwv (ORCPT ); Wed, 1 Oct 2008 20:52:51 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1752089AbYJBAwn (ORCPT ); Wed, 1 Oct 2008 20:52:43 -0400 Received: from dallas.jonmasters.org ([72.29.103.172]:57068 "EHLO dallas.jonmasters.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752077AbYJBAwn (ORCPT ); Wed, 1 Oct 2008 20:52:43 -0400 Subject: Re: [RFC patch 5/5] genirq: make irq threading robust From: Jon Masters To: Thomas Gleixner Cc: LKML , Linus Torvalds , Andrew Morton , Ingo Molnar , Arjan van de Veen , Benjamin Herrenschmidt , Steven Rostedt , Sven Dietrich In-Reply-To: <20081001223302.210089249@linutronix.de> References: <20081001223213.078984344@linutronix.de> <20081001223302.210089249@linutronix.de> Content-Type: text/plain Organization: World Organi[sz]ation of Broken Dreams Date: Wed, 01 Oct 2008 20:52:31 -0400 Message-Id: <1222908751.31183.79.camel@perihelion.int.jonmasters.org> Mime-Version: 1.0 X-Mailer: Evolution 2.22.3.1 (2.22.3.1-1.fc9) Content-Transfer-Encoding: 7bit X-SA-Do-Not-Run: Yes X-SA-Exim-Connect-IP: 74.92.29.237 X-SA-Exim-Mail-From: jonathan@jonmasters.org X-SA-Exim-Scanned: No (on dallas.jonmasters.org); SAEximRunCond expanded to false Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1043 Lines: 28 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. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/