1. 14 4月, 2012 1 次提交
  2. 02 4月, 2012 1 次提交
  3. 31 10月, 2011 2 次提交
    • P
      kernel: fix two implicit header assumptions in irq_work.c · 967d1f90
      Paul Gortmaker 提交于
      Up until now, this file was getting percpu.h because nearly every
      file was implicitly getting module.h (and all its sub-includes).
      But we want to clean that up, so call out percpu.h explicitly.
      Otherwise we'll get things like this on an ARM build:
      
      kernel/irq_work.c:48: error: expected declaration specifiers or '...' before 'irq_work_list'
      kernel/irq_work.c:48: warning: type defaults to 'int' in declaration of 'DEFINE_PER_CPU'
      
      The same thing was happening for builds on ARM for asm/processor.h
      
      kernel/irq_work.c: In function 'irq_work_sync':
      kernel/irq_work.c:166: error: implicit declaration of function 'cpu_relax'
      Signed-off-by: NPaul Gortmaker <paul.gortmaker@windriver.com>
      967d1f90
    • P
      kernel: Map most files to use export.h instead of module.h · 9984de1a
      Paul Gortmaker 提交于
      The changed files were only including linux/module.h for the
      EXPORT_SYMBOL infrastructure, and nothing else.  Revector them
      onto the isolated export header for faster compile times.
      
      Nothing to see here but a whole lot of instances of:
      
        -#include <linux/module.h>
        +#include <linux/export.h>
      
      This commit is only changing the kernel dir; next targets
      will probably be mm, fs, the arch dirs, etc.
      Signed-off-by: NPaul Gortmaker <paul.gortmaker@windriver.com>
      9984de1a
  4. 04 10月, 2011 2 次提交
  5. 18 12月, 2010 1 次提交
    • C
      irq_work: Use per cpu atomics instead of regular atomics · 20b87691
      Christoph Lameter 提交于
      The irq work queue is a per cpu object and it is sufficient for
      synchronization if per cpu atomics are used. Doing so simplifies
      the code and reduces the overhead of the code.
      
      Before:
      
      christoph@linux-2.6$ size kernel/irq_work.o
         text	   data	    bss	    dec	    hex	filename
          451	      8	      1	    460	    1cc	kernel/irq_work.o
      
      After:
      
      christoph@linux-2.6$ size kernel/irq_work.o 
         text	   data	    bss	    dec	    hex	filename
          438	      8	      1	    447	    1bf	kernel/irq_work.o
      
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Signed-off-by: NChristoph Lameter <cl@linux.com>
      20b87691
  6. 18 11月, 2010 1 次提交
  7. 19 10月, 2010 1 次提交
    • P
      irq_work: Add generic hardirq context callbacks · e360adbe
      Peter Zijlstra 提交于
      Provide a mechanism that allows running code in IRQ context. It is
      most useful for NMI code that needs to interact with the rest of the
      system -- like wakeup a task to drain buffers.
      
      Perf currently has such a mechanism, so extract that and provide it as
      a generic feature, independent of perf so that others may also
      benefit.
      
      The IRQ context callback is generated through self-IPIs where
      possible, or on architectures like powerpc the decrementer (the
      built-in timer facility) is set to generate an interrupt immediately.
      
      Architectures that don't have anything like this get to do with a
      callback from the timer tick. These architectures can call
      irq_work_run() at the tail of any IRQ handlers that might enqueue such
      work (like the perf IRQ handler) to avoid undue latencies in
      processing the work.
      Signed-off-by: NPeter Zijlstra <a.p.zijlstra@chello.nl>
      Acked-by: NKyle McMartin <kyle@mcmartin.ca>
      Acked-by: NMartin Schwidefsky <schwidefsky@de.ibm.com>
      [ various fixes ]
      Signed-off-by: NHuang Ying <ying.huang@intel.com>
      LKML-Reference: <1287036094.7768.291.camel@yhuang-dev>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      e360adbe