From mboxrd@z Thu Jan 1 00:00:00 1970 From: Remy Bohmer Subject: Re: [ANNOUNCE] 2.6.31.2-rt13 Date: Wed, 7 Oct 2009 09:13:51 +0200 Message-ID: <3efb10970910070013p447fdd99o22699967a9e51070@mail.gmail.com> References: <3efb10970910061123k2b6826bci11f0f42509173b26@mail.gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: QUOTED-PRINTABLE Cc: LKML , rt-users To: Thomas Gleixner Return-path: In-Reply-To: Sender: linux-kernel-owner@vger.kernel.org List-Id: linux-rt-users.vger.kernel.org Hi Thomas, > 2009/10/6 Thomas Gleixner : > On Tue, 6 Oct 2009, Thomas Gleixner wrote: > >> On Tue, 6 Oct 2009, Remy Bohmer wrote: >> > But I was wondering if you missed this one: >> > http://patchwork.kernel.org/patch/50044/ >> >> Yup, slipped through. Queued for the next release. > > Correction. I dropped the patch as it is just a sloppy work around. > Why creating the thread in the first place ? Real fix below. Yeah, I thought about that too. > > Thanks, > > =A0 =A0 =A0 =A0tglx > --- > diff --git a/kernel/softirq.c b/kernel/softirq.c > index aae8d45..3526976 100644 > --- a/kernel/softirq.c > +++ b/kernel/softirq.c > @@ -1161,6 +1161,8 @@ static int __cpuinit cpu_callback(struct notifi= er_block *nfb, > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0per_cpu(ksoftirqd, hot= cpu)[i].tsk =3D NULL; > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0} > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0for (i =3D 0; i < NR_SOFTIRQS; i++) { > + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 if (!softirq_names[i]) > + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 continu= e; But I did not do this because I thought this was sloppy as well, I guessed you would never accept a patch that only looks at defining the name, how wrong could I be... ;-) So, going for the cleaner solution, I was going for not defining the HRTIMER_SOFTIRQ in the enum in include/linux/interrupt.h in the first place, but that would touch even more code, and at least that makes clear how much the code is strangled. The loop 'for (i =3D 0; i < NR_SOFTIRQS; i++)' is used at many more places, would this 'if (!softirq_names[i])' not be required at other places as well? Remy