* [GIT pull] irq fixes for 2.6.31
@ 2009-08-17 19:27 Thomas Gleixner
2009-08-17 20:42 ` Linus Torvalds
0 siblings, 1 reply; 7+ messages in thread
From: Thomas Gleixner @ 2009-08-17 19:27 UTC (permalink / raw)
To: Linus Torvalds; +Cc: Andrew Morton, LKML, Ingo Molnar
Linus,
Please pull the latest irq-fixes-for-linus git tree from:
git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip.git irq-fixes-for-linus
Thanks,
tglx
------------------>
Thomas Gleixner (1):
genirq: Do not wakeup irq thread from __setup_irq() and set action->irq
kernel/irq/manage.c | 3 +--
1 files changed, 1 insertions(+), 2 deletions(-)
diff --git a/kernel/irq/manage.c b/kernel/irq/manage.c
index d222515..76fa62f 100644
--- a/kernel/irq/manage.c
+++ b/kernel/irq/manage.c
@@ -607,7 +607,6 @@ __setup_irq(unsigned int irq, struct irq_desc *desc, struct irqaction *new)
*/
get_task_struct(t);
new->thread = t;
- wake_up_process(t);
}
/*
@@ -690,6 +689,7 @@ __setup_irq(unsigned int irq, struct irq_desc *desc, struct irqaction *new)
(int)(new->flags & IRQF_TRIGGER_MASK));
}
+ new->irq = irq;
*old_ptr = new;
/* Reset broken irq detection when installing new handler */
@@ -707,7 +707,6 @@ __setup_irq(unsigned int irq, struct irq_desc *desc, struct irqaction *new)
spin_unlock_irqrestore(&desc->lock, flags);
- new->irq = irq;
register_irq_proc(irq, desc);
new->dir = NULL;
register_handler_proc(irq, new);
^ permalink raw reply [flat|nested] 7+ messages in thread* Re: [GIT pull] irq fixes for 2.6.31
2009-08-17 19:27 [GIT pull] irq fixes for 2.6.31 Thomas Gleixner
@ 2009-08-17 20:42 ` Linus Torvalds
2009-08-17 21:52 ` Thomas Gleixner
0 siblings, 1 reply; 7+ messages in thread
From: Linus Torvalds @ 2009-08-17 20:42 UTC (permalink / raw)
To: Thomas Gleixner; +Cc: Andrew Morton, LKML, Ingo Molnar
On Mon, 17 Aug 2009, Thomas Gleixner wrote:
>
> Please pull the latest irq-fixes-for-linus git tree from:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip.git irq-fixes-for-linus
>
> Thanks,
>
> tglx
>
> ------------------>
> Thomas Gleixner (1):
> genirq: Do not wakeup irq thread from __setup_irq() and set action->irq
>
>
> kernel/irq/manage.c | 3 +--
> 1 files changed, 1 insertions(+), 2 deletions(-)
This is not what I get when I pull. Instead I get the "genirq: Prevent
race between free_irq() and handle_IRQ_event()" commit that I thought we
agreed wasn't correct.
Linus
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [GIT pull] irq fixes for 2.6.31
2009-08-17 20:42 ` Linus Torvalds
@ 2009-08-17 21:52 ` Thomas Gleixner
2009-08-18 20:33 ` Linus Torvalds
0 siblings, 1 reply; 7+ messages in thread
From: Thomas Gleixner @ 2009-08-17 21:52 UTC (permalink / raw)
To: Linus Torvalds; +Cc: Andrew Morton, LKML, Ingo Molnar
Linus,
On Mon, 17 Aug 2009, Linus Torvalds wrote:
> On Mon, 17 Aug 2009, Thomas Gleixner wrote:
> >
> > Please pull the latest irq-fixes-for-linus git tree from:
> >
> > git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip.git irq-fixes-for-linus
> >
> > Thanks,
> >
> > tglx
> >
> > ------------------>
> > Thomas Gleixner (1):
> > genirq: Do not wakeup irq thread from __setup_irq() and set action->irq
> >
> >
> > kernel/irq/manage.c | 3 +--
> > 1 files changed, 1 insertions(+), 2 deletions(-)
>
> This is not what I get when I pull. Instead I get the "genirq: Prevent
> race between free_irq() and handle_IRQ_event()" commit that I thought we
> agreed wasn't correct.
I have no idea what went wrong this time. I force pushed the branch
and pulled it back on a test machine to compile and test boot. The
test machine still has the correct sha1 for that branch while
master.kernel.org did not. I probably pushed out some other branch
between the point where I sent the pull request and the time you
pulled, but I can not find any hint in my bash history which would
explain why it wreckaged the irq-fixes-for-linus branch.
Just double checked that it is pushed out to git://.... as well.
Thanks,
tglx
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [GIT pull] irq fixes for 2.6.31
2009-08-17 21:52 ` Thomas Gleixner
@ 2009-08-18 20:33 ` Linus Torvalds
2009-08-18 20:37 ` Thomas Gleixner
0 siblings, 1 reply; 7+ messages in thread
From: Linus Torvalds @ 2009-08-18 20:33 UTC (permalink / raw)
To: Thomas Gleixner; +Cc: Andrew Morton, LKML, Ingo Molnar
On Mon, 17 Aug 2009, Thomas Gleixner wrote:
>
> I have no idea what went wrong this time. I force pushed the branch
> and pulled it back on a test machine to compile and test boot. The
> test machine still has the correct sha1 for that branch while
> master.kernel.org did not. I probably pushed out some other branch
> between the point where I sent the pull request and the time you
> pulled, but I can not find any hint in my bash history which would
> explain why it wreckaged the irq-fixes-for-linus branch.
>
> Just double checked that it is pushed out to git://.... as well.
It's still wrong.
http://git.kernel.org/?p=linux/kernel/git/tip/linux-2.6-tip.git;a=shortlog;h=irq-fixes-for-linus
still does _not_ show that
genirq: Do not wakeup irq thread from __setup_irq() and set action->irq
commit, but the broken one.
Linus
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [GIT pull] irq fixes for 2.6.31
2009-08-18 20:33 ` Linus Torvalds
@ 2009-08-18 20:37 ` Thomas Gleixner
0 siblings, 0 replies; 7+ messages in thread
From: Thomas Gleixner @ 2009-08-18 20:37 UTC (permalink / raw)
To: Linus Torvalds; +Cc: Andrew Morton, LKML, Ingo Molnar
On Tue, 18 Aug 2009, Linus Torvalds wrote:
> On Mon, 17 Aug 2009, Thomas Gleixner wrote:
> >
> > I have no idea what went wrong this time. I force pushed the branch
> > and pulled it back on a test machine to compile and test boot. The
> > test machine still has the correct sha1 for that branch while
> > master.kernel.org did not. I probably pushed out some other branch
> > between the point where I sent the pull request and the time you
> > pulled, but I can not find any hint in my bash history which would
> > explain why it wreckaged the irq-fixes-for-linus branch.
> >
> > Just double checked that it is pushed out to git://.... as well.
>
> It's still wrong.
>
> http://git.kernel.org/?p=linux/kernel/git/tip/linux-2.6-tip.git;a=shortlog;h=irq-fixes-for-linus
>
> still does _not_ show that
>
> genirq: Do not wakeup irq thread from __setup_irq() and set action->irq
>
> commit, but the broken one.
Err, no. Please see the mail I sent an hour ago.
Even the http.... interface shows the one I want you to pull:
69ab849439b506cd8dd2879527fdb64d95dd5211
Thanks,
tglx
^ permalink raw reply [flat|nested] 7+ messages in thread
* [GIT pull] irq fixes for 2.6.31
@ 2009-08-18 19:31 Thomas Gleixner
0 siblings, 0 replies; 7+ messages in thread
From: Thomas Gleixner @ 2009-08-18 19:31 UTC (permalink / raw)
To: Linus Torvalds; +Cc: Andrew Morton, LKML, Ingo Molnar
Linus,
Please pull the latest irq-fixes-for-linus git tree from:
git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip.git irq-fixes-for-linus
I zapped the yesterdays patch as it triggered the hung_task detector
when no hard interrupt came in. So I moved the wakeup to the end of
setup_irq for now. I still need to figure out why the hung_task
detector triggers on that despite claiming otherwise in its comments.
Verified today that the branch contains really what I want you to pull :)
Thanks,
tglx
------------------>
Thomas Gleixner (1):
genirq: Wake up irq thread after action has been installed
kernel/irq/manage.c | 10 ++++++++--
1 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/kernel/irq/manage.c b/kernel/irq/manage.c
index d222515..0ec9ed8 100644
--- a/kernel/irq/manage.c
+++ b/kernel/irq/manage.c
@@ -607,7 +607,6 @@ __setup_irq(unsigned int irq, struct irq_desc *desc, struct irqaction *new)
*/
get_task_struct(t);
new->thread = t;
- wake_up_process(t);
}
/*
@@ -690,6 +689,7 @@ __setup_irq(unsigned int irq, struct irq_desc *desc, struct irqaction *new)
(int)(new->flags & IRQF_TRIGGER_MASK));
}
+ new->irq = irq;
*old_ptr = new;
/* Reset broken irq detection when installing new handler */
@@ -707,7 +707,13 @@ __setup_irq(unsigned int irq, struct irq_desc *desc, struct irqaction *new)
spin_unlock_irqrestore(&desc->lock, flags);
- new->irq = irq;
+ /*
+ * Strictly no need to wake it up, but hung_task complains
+ * when no hard interrupt wakes the thread up.
+ */
+ if (new->thread)
+ wake_up_process(new->thread);
+
register_irq_proc(irq, desc);
new->dir = NULL;
register_handler_proc(irq, new);
^ permalink raw reply [flat|nested] 7+ messages in thread* [GIT pull] irq fixes for 2.6.31
@ 2009-07-22 21:22 Thomas Gleixner
0 siblings, 0 replies; 7+ messages in thread
From: Thomas Gleixner @ 2009-07-22 21:22 UTC (permalink / raw)
To: Linus Torvalds; +Cc: Andrew Morton, LKML
Linus,
Please pull the latest irq-fixes-for-linus git tree from:
git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip.git irq-fixes-for-linus
Thanks,
tglx (hiding in a full body sized brown paperbag)
------------------>
Bruno Premont (1):
genirq: Fix UP compile failure caused by irq_thread_check_affinity
kernel/irq/manage.c | 5 +++++
1 files changed, 5 insertions(+), 0 deletions(-)
diff --git a/kernel/irq/manage.c b/kernel/irq/manage.c
index f0de36f..61c679d 100644
--- a/kernel/irq/manage.c
+++ b/kernel/irq/manage.c
@@ -451,6 +451,7 @@ static int irq_wait_for_interrupt(struct irqaction *action)
return -1;
}
+#ifdef CONFIG_SMP
/*
* Check whether we need to change the affinity of the interrupt thread.
*/
@@ -478,6 +479,10 @@ irq_thread_check_affinity(struct irq_desc *desc, struct irqaction *action)
set_cpus_allowed_ptr(current, mask);
free_cpumask_var(mask);
}
+#else
+static inline void
+irq_thread_check_affinity(struct irq_desc *desc, struct irqaction *action) { }
+#endif
/*
* Interrupt handler thread
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2009-08-18 20:38 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-08-17 19:27 [GIT pull] irq fixes for 2.6.31 Thomas Gleixner
2009-08-17 20:42 ` Linus Torvalds
2009-08-17 21:52 ` Thomas Gleixner
2009-08-18 20:33 ` Linus Torvalds
2009-08-18 20:37 ` Thomas Gleixner
-- strict thread matches above, loose matches on Subject: below --
2009-08-18 19:31 Thomas Gleixner
2009-07-22 21:22 Thomas Gleixner
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®