From: Ingo Molnar <mingo@elte.hu>,
Voyager is getting odd deadlocks due to the taking of xtime_lock() in
sched_clock()->get_jiffies_64().
I had this patch queued up to fix a different deadlock, which occurs when we
relax the requirement that TSC's be synchronised across CPUs. But it will
fix James' deadlock too.
#ifndef CONFIG_NUMA
if (!use_tsc)
#endif
- return (unsigned long long)get_jiffies_64() * (1000000000 / HZ);
+ /* no locking but a rare wrong value is not a big deal */
+ return jiffies_64 * (1000000000 / HZ);
/* Read the Time Stamp Counter */
rdtscll(this_offset);