|
@@ -636,10 +636,10 @@ static void stp_work_fn(struct work_struct *work)
|
|
|
goto out_unlock;
|
|
goto out_unlock;
|
|
|
|
|
|
|
|
memset(&stp_sync, 0, sizeof(stp_sync));
|
|
memset(&stp_sync, 0, sizeof(stp_sync));
|
|
|
- get_online_cpus();
|
|
|
|
|
|
|
+ cpus_read_lock();
|
|
|
atomic_set(&stp_sync.cpus, num_online_cpus() - 1);
|
|
atomic_set(&stp_sync.cpus, num_online_cpus() - 1);
|
|
|
- stop_machine(stp_sync_clock, &stp_sync, cpu_online_mask);
|
|
|
|
|
- put_online_cpus();
|
|
|
|
|
|
|
+ stop_machine_cpuslocked(stp_sync_clock, &stp_sync, cpu_online_mask);
|
|
|
|
|
+ cpus_read_unlock();
|
|
|
|
|
|
|
|
if (!check_sync_clock())
|
|
if (!check_sync_clock())
|
|
|
/*
|
|
/*
|