Re: [BUG REPORT] Soft Lockup in smp_call_function_single+0xD8

From: Jeff Merkey
Date: Sat Jan 30 2016 - 13:19:12 EST

This lockless memory based synchronization in csd_lock_wait just
doesn't work on all smp systems because not all of them properly
implement these fancy memory fencing instructions. I've run into this
before trying to do lockless queueing on a range of SMP systems.
About the only thing guaranteed to work is a lock assertion because
this tells the processor to flush its pipeline. So this csd code is
busted on some systems.

This other hang condition with the sysret just makes it show up as a
deadlock in csd_lock_wait.