I'm looking at the TBB source in detail, in particular the scheduler.
What I would like to be able to do is write my own task stealing algorithm, in particular I want to be able to steal tasks from all CPUs at once (that have certain properties) and actually take them away from TBB altogether (migrate to another system).
Any pointers on where in the code I should be looking to interface? Right now I'm tracing through task.cpp, but I don't understand what is meant by "Gate" and "Arena". What are the actual task lists processed by CPUs?