Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Enumerations | Functions | Variables
smp.c File Reference
#include <linux/types.h>
#include <linux/spinlock.h>
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/sched.h>
#include <linux/init.h>
#include <linux/interrupt.h>
#include <linux/smp.h>
#include <linux/kernel_stat.h>
#include <linux/mm.h>
#include <linux/err.h>
#include <linux/delay.h>
#include <linux/bitops.h>
#include <linux/ftrace.h>
#include <linux/cpu.h>
#include <linux/atomic.h>
#include <asm/current.h>
#include <asm/delay.h>
#include <asm/tlbflush.h>
#include <asm/io.h>
#include <asm/irq.h>
#include <asm/mmu_context.h>
#include <asm/page.h>
#include <asm/pgtable.h>
#include <asm/pgalloc.h>
#include <asm/processor.h>
#include <asm/ptrace.h>
#include <asm/unistd.h>
#include <asm/cacheflush.h>

Go to the source code of this file.

Macros

#define smp_debug(lvl,...)   do { } while(0)
 

Enumerations

enum  ipi_message_type {
  IPI_RESCHEDULE, IPI_CALL_FUNC, IPI_CALL_FUNC_SINGLE, IPI_CPU_STOP,
  BFIN_IPI_TIMER, BFIN_IPI_RESCHEDULE, BFIN_IPI_CALL_FUNC, BFIN_IPI_CALL_FUNC_SINGLE,
  BFIN_IPI_CPU_STOP, IPI_NOP = 0, IPI_RESCHEDULE = 1, IPI_CALL_FUNC,
  IPI_CALL_FUNC_SINGLE, IPI_CPU_STOP, IPI_TIMER, IPI_NOP =0,
  IPI_RESCHEDULE =1, IPI_CALL_FUNC, IPI_CALL_FUNC_SINGLE, IPI_CPU_START,
  IPI_CPU_STOP, IPI_CPU_TEST
}
 

Functions

irqreturn_t __irq_entry ipi_interrupt (int irq, void *dev_id)
 
void smp_send_stop (void)
 
void smp_send_reschedule (int cpu)
 
void smp_send_all_nop (void)
 
void arch_send_call_function_ipi_mask (const struct cpumask *mask)
 
void arch_send_call_function_single_ipi (int cpu)
 
void smp_flush_tlb_all (void)
 
void __init smp_callin (void)
 
int __cpuinit smp_boot_one_cpu (int cpuid, struct task_struct *idle)
 
void __init smp_prepare_boot_cpu (void)
 
void __init smp_prepare_cpus (unsigned int max_cpus)
 
void smp_cpus_done (unsigned int cpu_max)
 
int __cpuinit __cpu_up (unsigned int cpu, struct task_struct *tidle)
 

Variables

struct task_structsmp_init_current_idle_task
 

Macro Definition Documentation

#define smp_debug (   lvl,
  ... 
)    do { } while(0)

Definition at line 59 of file smp.c.

Enumeration Type Documentation

Enumerator:
IPI_RESCHEDULE 
IPI_CALL_FUNC 
IPI_CALL_FUNC_SINGLE 
IPI_CPU_STOP 
BFIN_IPI_TIMER 
BFIN_IPI_RESCHEDULE 
BFIN_IPI_CALL_FUNC 
BFIN_IPI_CALL_FUNC_SINGLE 
BFIN_IPI_CPU_STOP 
IPI_NOP 
IPI_RESCHEDULE 
IPI_CALL_FUNC 
IPI_CALL_FUNC_SINGLE 
IPI_CPU_STOP 
IPI_TIMER 
IPI_NOP 
IPI_RESCHEDULE 
IPI_CALL_FUNC 
IPI_CALL_FUNC_SINGLE 
IPI_CPU_START 
IPI_CPU_STOP 
IPI_CPU_TEST 

Definition at line 71 of file smp.c.

Function Documentation

int __cpuinit __cpu_up ( unsigned int  cpu,
struct task_struct tidle 
)

Definition at line 437 of file smp.c.

void arch_send_call_function_ipi_mask ( const struct cpumask mask)

Definition at line 255 of file smp.c.

void arch_send_call_function_single_ipi ( int  cpu)

Definition at line 260 of file smp.c.

irqreturn_t __irq_entry ipi_interrupt ( int  irq,
void dev_id 
)

Definition at line 122 of file smp.c.

int __cpuinit smp_boot_one_cpu ( int  cpuid,
struct task_struct idle 
)

Definition at line 341 of file smp.c.

void __init smp_callin ( void  )

Definition at line 320 of file smp.c.

void smp_cpus_done ( unsigned int  cpu_max)

Definition at line 431 of file smp.c.

void smp_flush_tlb_all ( void  )

Definition at line 271 of file smp.c.

void __init smp_prepare_boot_cpu ( void  )

Definition at line 399 of file smp.c.

void __init smp_prepare_cpus ( unsigned int  max_cpus)

Definition at line 416 of file smp.c.

void smp_send_all_nop ( void  )

Definition at line 250 of file smp.c.

void smp_send_reschedule ( int  cpu)

Definition at line 247 of file smp.c.

void smp_send_stop ( void  )
inline

Definition at line 241 of file smp.c.

Variable Documentation

struct task_struct* smp_init_current_idle_task

Definition at line 62 of file smp.c.