Skip to contentSkip to conversation

: linux/interrupt.h doesn't need sched.h

PATCH In review Arnaldo Carvalho de Melo 2 participants 5 messages Oct 29, 2007

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 : linux/interrupt.h doesn't need sched.h

include/linux/interrupt.h +0 -1
index 2306920..5a0fc81 100644
@@ -9,7 +9,6 @@
 #include <linux/cpumask.h>
 #include <linux/irqreturn.h>
 #include <linux/hardirq.h>
-#include <linux/sched.h>
 #include <linux/irqflags.h>
 #include <asm/atomic.h>
 #include <asm/ptrace.h>
#1 lore raw

include/linux/interrupt.h line 14

Quoted 10 lines · Arnaldo Carvalho de Melo
include/linux/interrupt.h +0 -1
@@ -9,7 +9,6 @@
 #include <linux/cpumask.h>
 #include <linux/irqreturn.h>
 #include <linux/hardirq.h>
-#include <linux/sched.h>
 #include <linux/irqflags.h>
 #include <asm/atomic.h>
 #include <asm/ptrace.h>

ACK the part that nothing needs sched.h, but it shouldn't change anything, because of interrupt.h => hardirq.h => smp_lock.h => sched.h dependency.

[puts patch on cross-compile farm anyway]
[starts finding scalpels]

#2 lore raw
Quoted 15 lines · On Mon, Oct 29, 2007 at 09:12:10PM +0300, wrote:

include/linux/interrupt.h line 14

Quoted 10 lines · Arnaldo Carvalho de Melo
include/linux/interrupt.h +0 -1
@@ -9,7 +9,6 @@
 #include <linux/cpumask.h>
 #include <linux/irqreturn.h>
 #include <linux/hardirq.h>
-#include <linux/sched.h>
 #include <linux/irqflags.h>
 #include <asm/atomic.h>
 #include <asm/ptrace.h>

ACK the part that nothing needs sched.h, but it shouldn't change anything, because of interrupt.h => hardirq.h => smp_lock.h => sched.h dependency.

Quoted 2 lines

[puts patch on cross-compile farm anyway]
[starts finding scalpels]

Actually, NAK as-is. It immediately breaks on x86_64-allnoconfig et al. I'll send updated version :)

#3 lore raw
In reply to Alexey Dobriyan

Em Mon, Oct 29, 2007 at 09:12:10PM +0300, Alexey Dobriyan escreveu:

Quoted 6 lines · Arnaldo Carvalho de Melo
Quoted 5 lines
include/linux/interrupt.h +0 -0
@@ -9,7 +9,6 @@
 #include <linux/cpumask.h>
 #include <linux/irqreturn.h>
Quoted 8 lines

include/linux/interrupt.h line 14

Quoted 5 lines
include/linux/interrupt.h +0 -1
 #include <linux/hardirq.h>
-#include <linux/sched.h>
 #include <linux/irqflags.h>
 #include <asm/atomic.h>
 #include <asm/ptrace.h>

ACK the part that nothing needs sched.h, but it shouldn't change anything, because of interrupt.h => hardirq.h => smp_lock.h => sched.h dependency.

Yeah, but one thing at a time, now its one link in the maze, before it was two :-)

Quoted 2 lines

[puts patch on cross-compile farm anyway]
[starts finding scalpels]

Thanks!

- Arnaldo

#4 lore raw
Quoted 16 lines · Arnaldo Carvalho de Melo

Em Mon, Oct 29, 2007 at 09:12:10PM +0300, Alexey Dobriyan escreveu:

Quoted 6 lines · Arnaldo Carvalho de Melo
Quoted 5 lines
include/linux/interrupt.h +0 -0
@@ -9,7 +9,6 @@
 #include <linux/cpumask.h>
 #include <linux/irqreturn.h>
Quoted 8 lines

include/linux/interrupt.h line 14

Quoted 5 lines
include/linux/interrupt.h +0 -1
 #include <linux/hardirq.h>
-#include <linux/sched.h>
 #include <linux/irqflags.h>
 #include <asm/atomic.h>
 #include <asm/ptrace.h>

ACK the part that nothing needs sched.h, but it shouldn't change anything, because of interrupt.h => hardirq.h => smp_lock.h => sched.h dependency.

Quoted 5 lines

Yeah, but one thing at a time, now its one link in the maze, before it was two :-)

Quoted 2 lines

[puts patch on cross-compile farm anyway]
[starts finding scalpels]

Argh!

interrupt.h contains sti().
sti() on m68k wants hardirq_count(). hardirq_count() wants preempt_count(); preempt_count() wants current_thread_info() current_thread_info() on m68k wants task_thread_info() task_thread_info() on m68k is

	(&(tsk)->thread.info)

We're screwed, because adding sched.h to asm-m68k/thread_info.h leads to even more horrible things.

Comments? Well, apart from "our header dependencies suck" and "let's add CONFIG_M^*K to interrupt.h".