Re: [RFC][PATCH 12/13] stop_machine: Remove lglock

From: Peter Zijlstra
Date: Wed Jun 24 2015 - 13:32:21 EST


On Wed, Jun 24, 2015 at 07:28:18PM +0200, Peter Zijlstra wrote:
> +unlock:
> + /* MCS style queue 'unlock' */
> + next = READ_ONCE(entry.next);
> + if (!next) {
> + if (cmpxchg(&rsp->expedited_queue, &entry, NULL) == &entry)
> + goto done;
> + while (!(next = READ_ONCE(entry.next)))
> + cpu_relax();
> + }
> + smp_store_release(&next->done, 1);

Do you suppose:

wake_up_process(next->task);

would help? :-)

>
> +done:
> put_online_cpus();
> }
> EXPORT_SYMBOL_GPL(synchronize_sched_expedited);
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/