I almost forgot to mention: Even without migratable fibers, users of Boost.Fiber can not be guarantueed that all fibers are executed within the same NUMA domain as the OS is free to migrate its processes/threads however it wants.
1. boost.fiber does not know anything about NUMA - this is done in boost.job (I mentioned this lib as an example how boost.fiber could be used to execute jobs and distribute those jobs on processors)
You use the NUMA awareness argument as a rationale for not supporting moving Fiber, however.
2. you could pin an os thread to a processor
Sure. But that's outside of the scope of Boost.Fiber as well. Thus inhibiting moving Fibers by the library is restricting things for libraries/code built on top of it. Regards Hartmut --------------- http://boost-spirit.com http://stellar.cct.lsu.edu