10 Sep, 2010

1 commit

  • asm-generic/hardirq.h needs asm/irq.h which might include
    linux/interrupt.h as in the sparc 32 case. At this point
    we need irq_cpustat generic definitions, but those are
    included later in asm-generic/hardirq.h.

    Then delay a bit the inclusion of irq.h from
    asm-generic/hardirq.h, it doesn't need to be included early.

    This fixes:

    include/linux/interrupt.h: In function '__raise_softirq_irqoff':
    include/linux/interrupt.h:414: error: implicit declaration of function 'local_softirq_pending'
    include/linux/interrupt.h:414: error: lvalue required as left operand of assignment

    Reported-by: Ingo Molnar
    Signed-off-by: Frederic Weisbecker
    Cc: Lai Jiangshan
    Cc: Koki Sanagi
    Cc: mathieu.desnoyers@efficios.com
    Cc: rostedt@goodmis.org
    Cc: nhorman@tuxdriver.com
    Cc: scott.a.mcmillan@intel.com
    Cc: eric.dumazet@gmail.com
    Cc: kaneshige.kenji@jp.fujitsu.com
    Cc: davem@davemloft.net
    Cc: izumi.taku@jp.fujitsu.com
    Cc: kosaki.motohiro@jp.fujitsu.com
    LKML-Reference:
    Signed-off-by: Ingo Molnar

    Frederic Weisbecker
     

10 Oct, 2009

1 commit

  • Since the beginnings in aafe4dbed0bf6cbdb2e9f03e1d42f8a540d8541d
    ("asm-generic: add generic versions of common headers") the generic
    version of defined __softirq_pending as unsigned long.

    Which is different from other architectures for no apparent good reason
    and was causing the following warning:

    kernel/time/tick-sched.c: In function 'tick_nohz_stop_sched_tick':
    kernel/time/tick-sched.c:261: warning: format '%02x' expects type 'unsigned int', but argument 2 has type 'long unsigned int'

    Reported and initial patch by Wu Zhangjin .

    Signed-off-by: Ralf Baechle
    Acked-by: Arnd Bergmann
    [ Arnd points out that we really should make sure parisc and alpha are
    ok with this, since they have also been converted to use the generic
    hardirq.h file. But neither seems to use it, although parisc does
    build a IRQSTAT_SIRQ_PEND #define into asm-offsets - but that also
    appears unused.. - Linus ]
    Signed-off-by: Linus Torvalds

    Ralf Baechle
     

19 Jun, 2009

1 commit

  • Architechtures normally don't need to set a HARDIRQ_BITS
    unless they have hardcoded a specific value in assembly.
    This drops the definition from asm-generic/hardirq.h, which
    results in linux/hardirq.h setting its default of 10.

    Both the old default of 8 and the linux/hardirq.h default
    of 10 are sufficient because they only limit the number
    of nested hardirqs, and we normally run out of stack space
    much earlier than exceeding 256 or even 1024 nested interrupts.

    Reported-by: Mike Frysinger
    Acked-by: Steven Rostedt
    Signed-off-by: Arnd Bergmann

    Arnd Bergmann
     

12 Jun, 2009

1 commit

  • These are all kernel internal interfaces that get copied
    around a lot. In most cases, architectures can provide
    their own optimized versions, but these generic versions
    can work as well.

    I have tried to use the most common contents of each
    header to allow existing architectures to migrate easily.

    Thanks to Remis for suggesting a number of cleanups.

    Signed-off-by: Remis Lima Baima
    Signed-off-by: Arnd Bergmann

    Arnd Bergmann