Okay, so I've done about 7 hours of bench-marking on Ryzen on Windows 10 build 1511 (with no updates). Then I went to the pre-release fast ring and am now running the bleeding edge build 1607 with all updates to see if Microsoft has done anything worthwhile (hint: they've done exactly nothing).
I can't disable SMT in the ASRock BIOS - or I surely can't find it, but I've also partly tested 4+0 core configuration.
The Windows 10 scheduler is royally fscked. It, indeed, does not schedule with priority on real cores. But, worse than that, it avoids the second half of all logical CPUIs as if they were SMT cores
(with balanced power setting).
Now, I set thread affinity on Cinebench after it began to run, with a fixed 3GHz clock speed and high-performance power settings. The logical action is to disable every other logical core in the affinity mask, which I did, enabling 0, 2, 4, & 6.
This was the, very confusing, result:
The Windows 10 scheduler forced ALL threads onto just two cores! I didn't let this finish as multiple threads were not even being scheduled during this time and Cinebench showed no progress for three or four threads for a good minute (yes, this ran forever...).
Only setting affinity to cores 0,1,2,3 did what was expected (that's dual core, however) - the entire second half of the CCX remained nearly completely dormant and a third core came online to handle ancillary background processing.
On the good news front, 3.425GHz Ryzen 1700X eliminates the bottlenecks my 2600k@4.5Ghz has:
Also, I haven't touched memory - it's running at DDR4-2133 CL15-15-15 2T (yes, 2T!).
What is really strange is that sometimes Windows 10 does the right thing - such as in Unigine benchmarks.
I am going to run some BF1, image this drive, then try Windows 7 tomorrow.
For now, you can see all my relevant screenshots here:
http://files.looncraz.net/zen/Win10/