提交 9b1a4d38 编写于 作者: R Rusty Russell

stop_machine: Wean existing callers off stop_machine_run()

Signed-off-by: NRusty Russell <rusty@rustcorp.com.au>
上级 eeec4fad
...@@ -197,7 +197,7 @@ void __kprobes arch_arm_kprobe(struct kprobe *p) ...@@ -197,7 +197,7 @@ void __kprobes arch_arm_kprobe(struct kprobe *p)
args.new = BREAKPOINT_INSTRUCTION; args.new = BREAKPOINT_INSTRUCTION;
kcb->kprobe_status = KPROBE_SWAP_INST; kcb->kprobe_status = KPROBE_SWAP_INST;
stop_machine_run(swap_instruction, &args, NR_CPUS); stop_machine(swap_instruction, &args, NULL);
kcb->kprobe_status = status; kcb->kprobe_status = status;
} }
...@@ -212,7 +212,7 @@ void __kprobes arch_disarm_kprobe(struct kprobe *p) ...@@ -212,7 +212,7 @@ void __kprobes arch_disarm_kprobe(struct kprobe *p)
args.new = p->opcode; args.new = p->opcode;
kcb->kprobe_status = KPROBE_SWAP_INST; kcb->kprobe_status = KPROBE_SWAP_INST;
stop_machine_run(swap_instruction, &args, NR_CPUS); stop_machine(swap_instruction, &args, NULL);
kcb->kprobe_status = status; kcb->kprobe_status = status;
} }
...@@ -331,7 +331,7 @@ static int __kprobes kprobe_handler(struct pt_regs *regs) ...@@ -331,7 +331,7 @@ static int __kprobes kprobe_handler(struct pt_regs *regs)
* No kprobe at this address. The fault has not been * No kprobe at this address. The fault has not been
* caused by a kprobe breakpoint. The race of breakpoint * caused by a kprobe breakpoint. The race of breakpoint
* vs. kprobe remove does not exist because on s390 we * vs. kprobe remove does not exist because on s390 we
* use stop_machine_run to arm/disarm the breakpoints. * use stop_machine to arm/disarm the breakpoints.
*/ */
goto no_kprobe; goto no_kprobe;
......
...@@ -241,7 +241,7 @@ static int __init intel_rng_hw_init(void *_intel_rng_hw) ...@@ -241,7 +241,7 @@ static int __init intel_rng_hw_init(void *_intel_rng_hw)
struct intel_rng_hw *intel_rng_hw = _intel_rng_hw; struct intel_rng_hw *intel_rng_hw = _intel_rng_hw;
u8 mfc, dvc; u8 mfc, dvc;
/* interrupts disabled in stop_machine_run call */ /* interrupts disabled in stop_machine call */
if (!(intel_rng_hw->fwh_dec_en1_val & FWH_F8_EN_MASK)) if (!(intel_rng_hw->fwh_dec_en1_val & FWH_F8_EN_MASK))
pci_write_config_byte(intel_rng_hw->dev, pci_write_config_byte(intel_rng_hw->dev,
...@@ -365,10 +365,10 @@ static int __init mod_init(void) ...@@ -365,10 +365,10 @@ static int __init mod_init(void)
* location with the Read ID command, all activity on the system * location with the Read ID command, all activity on the system
* must be stopped until the state is back to normal. * must be stopped until the state is back to normal.
* *
* Use stop_machine_run because IPIs can be blocked by disabling * Use stop_machine because IPIs can be blocked by disabling
* interrupts. * interrupts.
*/ */
err = stop_machine_run(intel_rng_hw_init, intel_rng_hw, NR_CPUS); err = stop_machine(intel_rng_hw_init, intel_rng_hw, NULL);
pci_dev_put(dev); pci_dev_put(dev);
iounmap(intel_rng_hw->mem); iounmap(intel_rng_hw->mem);
kfree(intel_rng_hw); kfree(intel_rng_hw);
......
...@@ -678,7 +678,7 @@ static int try_stop_module(struct module *mod, int flags, int *forced) ...@@ -678,7 +678,7 @@ static int try_stop_module(struct module *mod, int flags, int *forced)
if (flags & O_NONBLOCK) { if (flags & O_NONBLOCK) {
struct stopref sref = { mod, flags, forced }; struct stopref sref = { mod, flags, forced };
return stop_machine_run(__try_stop_module, &sref, NR_CPUS); return stop_machine(__try_stop_module, &sref, NULL);
} else { } else {
/* We don't need to stop the machine for this. */ /* We don't need to stop the machine for this. */
mod->state = MODULE_STATE_GOING; mod->state = MODULE_STATE_GOING;
...@@ -1416,7 +1416,7 @@ static int __unlink_module(void *_mod) ...@@ -1416,7 +1416,7 @@ static int __unlink_module(void *_mod)
static void free_module(struct module *mod) static void free_module(struct module *mod)
{ {
/* Delete from various lists */ /* Delete from various lists */
stop_machine_run(__unlink_module, mod, NR_CPUS); stop_machine(__unlink_module, mod, NULL);
remove_notes_attrs(mod); remove_notes_attrs(mod);
remove_sect_attrs(mod); remove_sect_attrs(mod);
mod_kobject_remove(mod); mod_kobject_remove(mod);
...@@ -2197,7 +2197,7 @@ static struct module *load_module(void __user *umod, ...@@ -2197,7 +2197,7 @@ static struct module *load_module(void __user *umod,
/* Now sew it into the lists so we can get lockdep and oops /* Now sew it into the lists so we can get lockdep and oops
* info during argument parsing. Noone should access us, since * info during argument parsing. Noone should access us, since
* strong_try_module_get() will fail. */ * strong_try_module_get() will fail. */
stop_machine_run(__link_module, mod, NR_CPUS); stop_machine(__link_module, mod, NULL);
/* Size of section 0 is 0, so this works well if no params */ /* Size of section 0 is 0, so this works well if no params */
err = parse_args(mod->name, mod->args, err = parse_args(mod->name, mod->args,
...@@ -2231,7 +2231,7 @@ static struct module *load_module(void __user *umod, ...@@ -2231,7 +2231,7 @@ static struct module *load_module(void __user *umod,
return mod; return mod;
unlink: unlink:
stop_machine_run(__unlink_module, mod, NR_CPUS); stop_machine(__unlink_module, mod, NULL);
module_arch_cleanup(mod); module_arch_cleanup(mod);
cleanup: cleanup:
kobject_del(&mod->mkobj.kobj); kobject_del(&mod->mkobj.kobj);
......
...@@ -91,8 +91,8 @@ static void force_quiescent_state(struct rcu_data *rdp, ...@@ -91,8 +91,8 @@ static void force_quiescent_state(struct rcu_data *rdp,
* rdp->cpu is the current cpu. * rdp->cpu is the current cpu.
* *
* cpu_online_map is updated by the _cpu_down() * cpu_online_map is updated by the _cpu_down()
* using stop_machine_run(). Since we're in irqs disabled * using __stop_machine(). Since we're in irqs disabled
* section, stop_machine_run() is not exectuting, hence * section, __stop_machine() is not exectuting, hence
* the cpu_online_map is stable. * the cpu_online_map is stable.
* *
* However, a cpu might have been offlined _just_ before * However, a cpu might have been offlined _just_ before
......
...@@ -2372,7 +2372,7 @@ static void build_zonelist_cache(pg_data_t *pgdat) ...@@ -2372,7 +2372,7 @@ static void build_zonelist_cache(pg_data_t *pgdat)
#endif /* CONFIG_NUMA */ #endif /* CONFIG_NUMA */
/* return values int ....just for stop_machine_run() */ /* return values int ....just for stop_machine() */
static int __build_all_zonelists(void *dummy) static int __build_all_zonelists(void *dummy)
{ {
int nid; int nid;
...@@ -2397,7 +2397,7 @@ void build_all_zonelists(void) ...@@ -2397,7 +2397,7 @@ void build_all_zonelists(void)
} else { } else {
/* we have to stop all cpus to guarantee there is no user /* we have to stop all cpus to guarantee there is no user
of zonelist */ of zonelist */
stop_machine_run(__build_all_zonelists, NULL, NR_CPUS); stop_machine(__build_all_zonelists, NULL, NULL);
/* cpuset refresh routine should be here */ /* cpuset refresh routine should be here */
} }
vm_total_pages = nr_free_pagecache_pages(); vm_total_pages = nr_free_pagecache_pages();
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册