debuggers.hg

view xen/include/xen/stop_machine.h @ 0:7d21f7218375

Exact replica of unstable on 051908 + README-this
author Mukesh Rathor
date Mon May 19 15:34:57 2008 -0700 (2008-05-19)
parents
children
line source
1 #ifndef __XEN_STOP_MACHINE_H__
2 #define __XEN_STOP_MACHINE_H__
4 /**
5 * stop_machine_run: freeze the machine on all CPUs and run this function
6 * @fn: the function to run
7 * @data: the data ptr for the @fn()
8 * @cpu: the cpu to run @fn() on (or any, if @cpu == NR_CPUS).
9 *
10 * Description: This causes every other cpu to enter a safe point, with
11 * each of which disables interrupts, and finally interrupts are disabled
12 * on the current CPU. The result is that none is holding a spinlock
13 * or inside any other preempt-disabled region when @fn() runs.
14 *
15 * This can be thought of as a very heavy write lock, equivalent to
16 * grabbing every spinlock in the kernel. */
17 int stop_machine_run(int (*fn)(void *), void *data, unsigned int cpu);
19 #endif /* __XEN_STOP_MACHINE_H__ */