I have had a quick mess around with the 3.14 kernel this morning and tried some tuning and config of motors and hal and thought I would post another quick video, not sure what is shows, I hoped it may give some idea of what top/cyclictest and the lxde system histogram showed and show how linuxcnc runs with better tuned motor drivers and hal settings.
I changed out the motors on a couple of the A4988 driver boards to try and test max step speed, video should give some idea of voltages used and hardware that is running driven direct from the rpi GPIO.
I used a stop watch to get some idea of time that system locks up and the average over 4 lockups was 48seconds okay then 8 seconds unable to move mouse of keyboard input. Very strange timings being so long in duration, I am sure it was rather different on previous compilations of kernels, and am wondering if it is some sort of processor throttling due to thermal overheat?
I actually burnt out my model B which I assume is because I was running it force_turbo with dram@600 cpu@1100 and core@400(those maynot be the exact params cannot remember with certainty now). I am running on a model A now with cpu@1000 dram@500 and other params default and no force_turbo, maybe running the pi at defaults would not cause overheat and throttling, this is of course just a crazy guess, no real evidence to support it.
Also I found problems running DMA stepgen driver with shorter pulse time than 25us, so the test is running 25us step (base thread equivalent) and servo thread of 2000us. I found that for some reason I could not drive motors at more than 1500rpm (according to my rpm meter) this would be a pulse frequency of 5000 pps, 25us should allow 20000pps?
Don't know if hal inserts some default holdtime dir_setup delays if those params are not defined?
Anyways the whole thing seems weird and strange due to the long lockup of mouse yet cpu still seems to have cycles unused.
I am waiting for 3.14 kernel to compile with debugfs and some other RT profiling options enabled so cyclictest can give some profiling information from /sys/ (30 minutes compile time) I may get time to continue profiling and investigating but its not something I have done before so hope the learning curve is not too slow. I have other stuff to do today so may not do much more.
If anyone has any advice on realtime profiling or how linuxcnc prioritys can be changed or what they think may be the reason for the lockups please feel free to comment. I am no expert in this and am just muddling through without a full understanding to the huge mount of code that under lies the linuxcnc system. As said before it seems to me as though the step generation is very good, the problem is with the UI lockup, motor running seems very smooth and constant.