In case anyone is wondering I found out that to get Turbo 2 on a 16 core opteron CPU AMD means 4 threads per node (as an opteron 16 core is technically two 8 core cpus in a single socket) not 8 threads on one node with the other node idle, I couldn't find a mention of this on AMD's site unfortunately - at least now I know as to why my turbo 2 seemingly wasn't working with more than 4 cores.
The linux scheduler isn't aware of this, or even aware of modules - it will place threads on different modules wasting power and making it so turbo 2 doesn't work. Threads must be assigned manually after using the isolcpus command :[ unless there is something I am not aware of.