summaryrefslogtreecommitdiffstats
path: root/include/jemalloc/internal/spin.h
Commit message (Collapse)AuthorAgeFilesLines
* Power: disable the CPU_SPINWAIT macro.David Goldblatt2017-10-051-1/+11
| | | | | | | | | | | | | | Quoting from https://github.com/jemalloc/jemalloc/issues/761 : [...] reading the Power ISA documentation[1], the assembly in [the CPU_SPINWAIT macro] isn't correct anyway (as @marxin points out): the setting of the program-priority register is "sticky", and we never undo the lowering. We could do something similar, but given that we don't have testing here in the first place, I'm inclined to simply not try. I'll put something up reverting the problematic commit tomorrow. [1] Book II, chapter 3 of the 2.07B or 3.0B ISA documents.
* Remove external linkage for spin_adaptiveRyan Libby2017-08-081-7/+1
| | | | | | | The external linkage for spin_adaptive was not used, and the inline declaration of spin_adaptive that was used caused a probem on FreeBSD where CPU_SPINWAIT is implemented as a call to a static procedure for x86 architectures.
* Header refactoring: unify spin.h and move it out of the catch-all.David Goldblatt2017-04-191-0/+36
|
* Break up headers into constituent partsDavid Goldblatt2017-01-121-51/+0
| | | | | | | | | | This is part of a broader change to make header files better represent the dependencies between one another (see https://github.com/jemalloc/jemalloc/issues/533). It breaks up component headers into smaller parts that can be made to have a simpler dependency graph. For the autogenerated headers (smoothstep.h and size_classes.h), no splitting was necessary, so I didn't add support to emit multiple headers.
* Add/use adaptive spinning.Jason Evans2016-10-131-0/+51
Add spin_t and spin_{init,adaptive}(), which provide a simple abstraction for adaptive spinning. Adaptively spin during busy waits in bootstrapping and rtree node initialization.