Hardware latency tests, used PC's
- tommylight
- Topic Author
- Away
- Moderator
- Posts: 19188
- Thank you received: 6430
That is required only sometimes on PC's, on laptops that is not advisable due to overheating that may cause.So, if I get you right, we should set CPU governor to performance for real life too?
And the guvernor does not work sometimes on new computes, you can set it to whatever and the processor will still change frequency and states and multiplier and shut off some cores and ......
Please Log in or Create an account to join the conversation.
here is some sample output from the script I wrote:
cat 1592259011.hw
LinuxCNC pc tests, version 20200615
********************************************************************************
General info:
Dell Inc., OptiPlex 980
Bios version A04, dated 09/11/2010
================================================================================
CPU related data:
model name : Intel(R) Core(TM) i5 CPU 650 @ 3.20GHz
cpu cores : 2
stepping : 5
cache size : 4096 KB
================================================================================
RAM:
Maximum Capacity: 16 GB
Size: 2048 MB
Size: 2048 MB
Size: No Module Installed
Size: No Module Installed
================================================================================
GPU related data:
product: Core Processor Integrated Graphics Controller
configuration: driver=i915 latency=0
================================================================================
Os related data:
PRETTY_NAME="Debian GNU/Linux 10 (buster)"
Desktop: KDE, Session:
================================================================================
Kernel related data:
Kernel 4.19.0-9-rt-amd64
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash intel_idle.max_cstate=0 processor.max_cstate=1 idle=poll isolcpus=1 "
Cpu idle driver: none
================================================================================
Keyboard & Mouse related data:
Number of mice:
Mice attached to USB:
Logitech, Inc. Cordless Mouse Receiver
Keyboards attached to USB:
MosArt Semiconductor Corp. Defender Office Keyboard (K7310) S Zodiak KM-9010
================================================================================
Running latency test:
Started firefox with vimeo.com/150574260
Preparing for latency test, using 5 glxgears ...
su xx -c "latency-histogram --bbinsize 1000 --sbinsize 1000 --show 2>&1 | tee 1592259011.lat &"
Loop started Di Jun 16 00:10:24 CEST 2020, should end after Di Jun 16 02:10:24 CEST 2020
latency info calculated is as follows:
7205 secs base min: -20.300 uS max: 20.400 uS sdev: 0.300 uS
7205 secs servo min: -28.000 uS max: 26.700 uS sdev: 0.700 uS
7206 secs base min: -20.300 uS max: 20.400 uS sdev: 0.300 uS
Attached you will find the bash script used to create above output. The script uses 5 glxgears and a vimeo video starting in the standard browser (firefox at my place, I did not test others) and then being displayed full screen. The glxgears are sort of randomly resized to 33%, 66% or 99%. If there are no realtime delays detected, the script runs for two hours. In case of realtime delays, the script stops.
Kindly let me know what you think of it. I am sure, it can be improved in every way. My motivation to write the script, was to provide a way to create comparable info on pc / linuxcnc compatibilty, that should be gathered in a consistent way. Hope it is of some use to others too.
greez
chris
Please Log in or Create an account to join the conversation.
- tommylight
- Topic Author
- Away
- Moderator
- Posts: 19188
- Thank you received: 6430
It should have :
-choice of base thread or no base thread,
-choice of time to run,
-it should quit when pressing ctrl+c, it does not quit at all, even when typing exit it will close the terminal window and leave everything else running as can be seen by the open glxgears,
-it is searching for firefox.desktop that is not there or anywhere, not even inside the bash file !!!
That said, it is doing a nice job of causing spikes with window resizing of glxgears.
Firefox should be used as default as it is included with almost all flavours of Linux. Chromium got booted due to using snapd, rightfully so.
All in all, nicely done.
Please Log in or Create an account to join the conversation.
Thanks for the valuable feedback. I tried to make it as portable as possible. If you think, firefox is available for say 99% of the linuxcnc users, then I can "hardcode" it.
I'll certainly look into the suggested choices. Should be possible and makes sense. The reason it keeps spitting latency data when pressing Ctrl-C is that, I have to run the various processes in the background. So Ctrl-C just aborts the foreground processes. I guess I could have it display a message "Press any key to abort (not Ctrl-C or Ctrl-D)" then I could gracefully terminate all the background processes in the script. Would that be an option?
Greez
chris
PS: You think I got all the relevant data?
Please Log in or Create an account to join the conversation.
- tommylight
- Topic Author
- Away
- Moderator
- Posts: 19188
- Thank you received: 6430
Debian and Mint come with it pre-installed, Debian with the ESR version mostly, but firefox is the default browser for Linux.If you think, firefox is available for say 99% of the linuxcnc users, then I can "hardcode" it.
Yes, that would be nice.I guess I could have it display a message "Press any key to abort (not Ctrl-C or Ctrl-D)" then I could gracefully terminate all the background processes in the script. Would that be an option?
Way more than necessary, but it is nice to have all that info for troubleshooting purposes.PS: You think I got all the relevant data?
Thank you.
Please Log in or Create an account to join the conversation.
What do you think is too much? Kindly bear in mind: my long term goal is kinda replacement / completion of this . I do hope there will be a possibility to generate a sortable table in the linuxcnc wiki, where people can go and check what is required to get their hardware to work and/or if at all.Way more than necessary, ...
I've done a "kinda" realtime timehistory, band pass limited generator for two independent shakers to make a bridge *tremble". Back then (Pentium Pro time) I had to get a 2 CPU compaq server to be able to do this ($7'000, the purchase department went nuts :-], Side note: ran the code yesterday on my i7 6xxx p50, CPU load did not change noticeable, while I remember back on the compaq, it went to 99% on both CPU's). From that time and the various threads on latency I read, I put together what I saw from my (limited) learning as in many cases important. I do not claim to have seen it all or even to have seen the right parameters. That's why I ask.
Greez
chris
Please Log in or Create an account to join the conversation.
- tommylight
- Topic Author
- Away
- Moderator
- Posts: 19188
- Thank you received: 6430
Do not worry about that, that is very good as it shows info about everything on the PC, so that makes comparison and reporting results much, much easier.
What do you think is too much?Way more than necessary, ...
Since we are on to requests, adding the option of testing base thread at 100000 would also be nice for older PC's running RT-Preempt kernel, since the new RTAI kernel do not allow Linuxcnc to work on them.
That is rarely needed, but it would give another chance at usability for some hobby machines and some bigger machines that do not need high step rates. For some users having a machine that works no matter how slow is much better than a non working machine. I am quite lucky at finding good PC's as i had 3 computer shops and some of my friends still have computer shops, so i can get them really cheap (like $600 HP tablet/laptop for $130 cheap) but not everyone has that luxury. And in general i prefer using older Enterprise edition Dell or HP or Lenovo or lately Fujitsu as they have the best "no compromise" electronics built in so they never fail. New Home edition stuff is way to weak and to slow and to ...... not usable for anything but word processing.
Please Log in or Create an account to join the conversation.
Thanks a ton, so I'll leave the PC data stuff untouched for the time being.
I'll add:
- choice of base thread or no base thread
- choice of time to run
- option to quit
- firefox as default browser
- option for base thread at 100000
Once this is done, I think this should be entered in a new thread, describing things a bit. What do you think?
Greez
chris
Please Log in or Create an account to join the conversation.
- tommylight
- Topic Author
- Away
- Moderator
- Posts: 19188
- Thank you received: 6430
Thank you.
Please Log in or Create an account to join the conversation.
Please Log in or Create an account to join the conversation.