Ok. One of the things I wanted to find out with the debug mode is WHY the hashrate drops to around 2.5M/s, is it because some cores stop being activated (after a restart), is it because some data doesn't get transmitted, (USB hub clogged up has been suggested). I know it drove me mad at one point, but since now everything is stable (running 11 sticks on 1 hub at around 55Mh/s total) I am happy.
Running 10 ML2. Can't seem to get past 3.5Mh/s on average. I have 2 that drop to 2.5 Mh/s which brings the average down at 744 Mhz. Even if I raise the freq, the hash eventually settles at 35 Mh/s. I'm thinking it is wattage at this point. Using Sipolar A-400. Haven't played with the memory voltage, but maybe it is time to play with that because I think I've hit the wall in terms of 120W (12 W per device) on the Sipolar A400.
I have seen this as well, I have narrowed down the issue to one of two things.
1) like 90% of the issues I see this happen when your running multiple sticks on a hub and your near the max Amps the supply can generate. This causes some cores to shutdown and you see the drop in hashrate
2) some ASICs have a larger than normal power draw on memory, the issue get worse on frequencies higher than 600mhz. The memory controller then overshoots the voltage past .9v which causes some memory banks to stop working. The fix is to turn down memory voltage as low as you can get it to start hashing. Seems like .75-.8v works (almost a quarter of a turn counterclockwise on the top pot).
Next driver update will have an additional watchdog that looks for low hash rates and restarts them, but hashrate will still keep dropping if you have an issue with supply etc.