ISO install of LinuxCNC on Debian 8 & Mint LMDE 2
There are a few things you can try for latency issues. What I describe here works for Intel processors 32-bit or 64-bit install, so if you are using a AMD this will not work.
First if you used ISO, grub-customizer was also installed which will make a few thing a little easier. Open grub-costomizer you will find it in Menu->Administration->Grub Costomizer.
The opening screen will be on the List Configuration Tab
right click on the kernel you are working with, make sure not to choose (systemd) or (recovery mode)
new window will open select Source tab
Now look for the line that looks something like this example, Your kernel will have a different name that this "3.2.0-0.bpo.4-rt-amd64"
linux linux /vmlinuz-3.2.0-0.bpo.4-rt-amd64 root=/dev/mapper/mint--vg-root ro quiet splash $vt_handoff
You can add kernel boot options here, I suggest the following options
lapic noxsave -original paramters- intel_idle.max_cstate=0 processor.max_cstate=0 isolcpus=1
which would be added into the line after quiet splash and before $vt_handoff for this example as bellow shows.
linux linux /vmlinuz-3.2.0-0.bpo.4-rt-amd64 root=/dev/mapper/mint--vg-root ro quiet splash lapic noxsave -original paramters- intel_idle.max_cstate=0 processor.max_cstate=0 isolcpus=1 $vt_handoff
The above would be for a 2 core processor the option isolcpus=1 would be different for other multi core processors
isolcpus=2,3 <would be used for a 4 core processor
isolcpus=3,4,5 <would be used for a 6 core processor
isolcpus=4,5,6,7 <would be used for a 8 core processor
The idea behind this is to isolate realtime activity to the fist set of cores which improves latency.
NOW MAKE A NOTE: The above could all have been done on the General Settings tab which would change kernel parameters for all loaded kernels. But if any changes that were made caused boot failure, all kernel boot choices would fail at boot. Doing as I described above, only changes it for the kernel parameters for the kernel being edited. Which still leaves the option to boot into another kernel such as the default kernel that was loaded at OS install. This would allow to re-edit any bad parameter choices made previously in the kernel that was edited.
If you are using a dual core you can also follow the directions here which will gain a little more:
Now for one more thing turning off SMI but you have to be careful, please heed the warning at the following link:
I will tell you how to do this but you do at your own risk, open terminal
git clone git://git.kiszka.org/smictrl.git && cd smictrl
git clone git://github.com/zultron/smictrl-deb.git debian
sudo apt-get install libpci-dev
fakeroot dpkg-buildpackage -uc -us
sudo dpkg -i ../smictrl_*.deb
# To find out the details about your Intel chipset
# To make smictrl load at every boot
sudo gedit /etc/rc.local
# Edit add the following before the line exit 0
smictrl -s 0
This option needs to be monitored with psensor, ( watching CPU temp) and System Monitor,(set on System Load tab) making sure your system can handle this.
To install psensor open terminal
sudo apt-get install psensor
To install a System Monitor if not a Menu item:
sudo apt-get install ksysguard
With monitoring you will notice the effects of isolcpus CPU load will be high on first group of cores just make sure temp does not get to high
ANOTHER NOTE: Doing latency test I prefer to use latency-plot form terminal it show initial spike in system then settles and you maybe be able to isolate a hardware issue using latency-plot.
Also latency-histogram from terminal for a extended time latency test. If you are just interested in servo thread only invoke in terminal with latency-histogram --no base
If you carry out all of the above you will see a great latency improvement
Where can I get glade? Only the latest is available and doesn't support editing the panels.
I need Version 3.8 I think it was. I can't remember now. I tried looking for a deb for it, but could only find source without instructions [googled it]. I'm sure I could figure it out, but wanted to know if you knew something easier.
I need Version 3.8 I think it was. I can't remember now. I tried looking for a deb for it,
To the right on page you can check each repository by clicking
[ squeeze ] [ wheezy ] [ jessie ] [ stretch ] [ sid ] [ experimental ]
At the bottom of page pick "arch" that you need, you will be redirected to page with list of mirrors to download from pick one then download package.
After download go to download folder right click choose open terminal here
sudo gdebi -n <name.deb>
When you are trying to find a package google
debian <pakage name & version>
and do not use 3.8.0 as it is buggy and will terminate with a segmentation fault, better get from source 3.8.5