Re: [PATCH] hrtimer: prevent migration for raising softirq

From: Steven Rostedt
Date: Thu Jul 03 2008 - 21:56:19 EST




On Thu, 3 Jul 2008, Andrew Morton wrote:

>
> On Thu, 3 Jul 2008 14:31:26 -0400 (EDT)
> Steven Rostedt <rostedt@xxxxxxxxxxx> wrote:
>
> > Due to a possible deadlock, the waking of the softirq was pushed outside
> > of the hrtimer base locks. See commit 0c96c5979a522c3323c30a078a70120e29b5bdbc
>
> Please quote at least the patch title rather than raw hashes.

Sorry, will do next time. I'm getting to use to git.

>
> afaict that patch isn't in 2.6.25 yet you copied stable@xxxxxxxxxxx
> Please clarify.

The reason I did so is because that commit has a Cc: stable@xxxxxxxxxxx
I figured that if that patch is in queue for stable this one should be in
right afterwards.

>
> >
> > Unfortunately this allows the task to migrate after setting up the softirq
> > and raising it. Since softirqs run a queue that is per-cpu we may raise the
> > softirq on the wrong CPU and this will keep the queued softirq task from
> > running.
> >
> > To solve this issue, this patch disables preemption around the releasing
> > of the hrtimer lock and raising of the softirq.
> >
>
> This seems to be 2.6.26 material and is inapplicable to 2.6.25?
>

[/me goes to look at the 2.6.25.4 he has sitting around]

The above mentioned commit (Title: hrtimer: raise softirq unlocked to
avoid circular lock dependency) is, in fact, in 2.6.25.4.

-- Steve

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/