On Thu, Jul 09, 2015 at 11:32:45AM -0700, Andy Lutomirski wrote: > Several people have suggested that Linux should provide users with a > lightweight mechanism that allows light-weight fancy per-cpu > operations. This could be used to implement free lists or counters > without any barriers or atomic operations, for example. > > There are at least three approaches floating around. Paul Turner > proposed a single block of userspace code that aborts if it's > preempted -- within that block, percpu variables can be used safely. > Mathieu Desnoyers proposed a more complex variant. I proposed a much > simpler approach of just offering percpu gs bases on x86, allowing > cmpxchg (as opposed to lock cmpxchg) to access percpu variables. > > None of these should be hard to implement, but it would be nice to > hash out whether the kernel should support such a mechanism at all > and, if so, what it would look like.
[ added Jens and Shaohua ] We've started experimenting with these to cut overheads in a few critical places, and while we don't have numbers yet I really hope it won't take too long. I think the topic is really interesting and we'll be able to get numbers from production workloads to help justify and compare different approaches. -chris -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/