Hög latency i LinuxCNC

Robot, CNC, Pneumatik, Hydraulik, mm
Användarvisningsbild
Glenn
Inlägg: 33774
Blev medlem: 24 februari 2006, 12:01:56
Ort: Norr om Sthlm
Kontakt:

Hög latency i LinuxCNC

Inlägg av Glenn »

Jag har extremt hög latency när jag testar min tilltänkta dator med linuxCNC,

Servo thread ger ca 61500ns och base thread ger ca 20900ns. Enl dokumentationen bör det vara helst under 20000, men absolut under 50000 för att slippa problem.

Detta är ju alltså LÅNGT över vad det borde vara, och jag har suttit och plockat bort speedstep och strömsparsaker och annat i BIOS och till och med införskaffat ett grafikkort istället för det interna (vilket verkar vara det vanligaste problemet), det är förvisso ett Nvidia quadro-kort, men eftersom jag inte kör nvidias egen driver borde det fungera.

Med interna grafiken eller nvidiakortet blir det iaf ingen skillnad.

Datorn är en Dell optiplex 745 (SFF) och CPU'n en intel Core2Duo 2.13Ghz med HT avslaget. maskinen har 3G RAM och är långt ifrån att använda swap.

Nån som har nån ide om vad man kan skruva på ?
jihe
Inlägg: 2409
Blev medlem: 24 april 2009, 20:16:03

Re: Hög latency i LinuxCNC

Inlägg av jihe »

Jag har för mig att jag kunde slå av en processorkärna i bios på en problemdator, och att det gav lite bättre resultat. Sen skrotade jag förvisso den till slut i alla fall till förmån för en annan mer lämpad.

Är ditt interna grafikkort släckt i bios?
Användarvisningsbild
E85
Inlägg: 1274
Blev medlem: 29 maj 2007, 16:24:19
Ort: Övik

Re: Hög latency i LinuxCNC

Inlägg av E85 »

Vad står det när du kör "uname -a" i konsoll? Tänkte vilken kernel du har.

På min plasma står det såhär:
Linux plasma 3.4-9-rtai-686-pae #1 SMP PREEMPT Debian 3.4.55-4linuxcnc i686 GNU/Linux

Jag kör med deras Debian-ISO men har sedan lagt in senaste master-builden (Wheezy (realtime with RTAI)) istället från:
http://buildbot.linuxcnc.org/

Fördelar bl.a att man får senaste gmoccapy 2.1 med bättre stöd för joints.
Användarvisningsbild
Glenn
Inlägg: 33774
Blev medlem: 24 februari 2006, 12:01:56
Ort: Norr om Sthlm
Kontakt:

Re: Hög latency i LinuxCNC

Inlägg av Glenn »

jag sitter inte vid datorn nu, men jag kan ju testa att slå av en kärna, tänkte inte på det när jag pillade i bios, HT slog jag dock av men det spelade ingen roll.

interna grafiken står på "auto", borde funka, men jag kan ju stänga av den för säkerhets skull.


jag har installerat från den färdiga linuxcnc-ison.
perra_e
Inlägg: 983
Blev medlem: 13 februari 2009, 16:26:53
Ort: Jönköping

Re: Hög latency i LinuxCNC

Inlägg av perra_e »

Man kan ställa in linux så att den bara använder en kärna. Kommer inte ihåg hur man gör, men det gjorde stor skillnad för mig.

--Per
Borre
Inlägg: 4570
Blev medlem: 14 juni 2007, 15:43:50
Ort: Hälsingland

Re: Hög latency i LinuxCNC

Inlägg av Borre »

Användarvisningsbild
hawkan
Inlägg: 2621
Blev medlem: 14 augusti 2011, 10:27:40

Re: Hög latency i LinuxCNC

Inlägg av hawkan »

Det kan vara värt att prova med en nyare kärna, förslagsvis 4.1.36 med rt-preempt-patcharna.
Länk finns i länk https://lwn.net/Articles/709098/
Eller är det rtai du ska använda? I så fall har jag ingen aning.
Användarvisningsbild
Hesabon
Inlägg: 244
Blev medlem: 6 oktober 2010, 21:30:26
Ort: Finland

Re: Hög latency i LinuxCNC

Inlägg av Hesabon »

Under Linux kan du koppla ur och koppla in kärnor "on the fly", s.a.s.:

I ett terminalfönster, skriv lscpu (enter) så ser du CPU-konfigurationen. (kräver inte root)
CPU(s) anger totala antalet kärnor.

Koppla ur/koppla in kärnor (kräver root-privilegier):

Antar att systemet har två kärnor (= 2 CPU:er). Deras index är då 0 respektive 1.

För att stänga av CPU2 (=index 1):

echo 0 > /sys/devices/system/cpu/cpu1/online

Vill du ha igång den igen skriver du bara

echo 1 > /sys/devices/system/cpu/cpu1/online

OBS! Du kan INTE stänga av den första CPUn (index 0)!

Efter något av dessa kommandon, för att se vilka kärnor som de facto är aktiva skriv:

grep "processor" /proc/cpuinfo (enter)
Användarvisningsbild
NeoTech
Inlägg: 1072
Blev medlem: 15 maj 2008, 11:14:44
Ort: Örebro/Frövi

Re: Hög latency i LinuxCNC

Inlägg av NeoTech »

Kör du med MESA kort ?? Isf hade ja inte brytt mig överdrivet mkt om latencyn. Kör du parallell port så sure..
cahlfors
Inlägg: 99
Blev medlem: 2 november 2013, 12:59:49

Re: Hög latency i LinuxCNC

Inlägg av cahlfors »

Jag tror du ska styra realtidstråden till en kärna och låta de andra kärnorna ta hand om resten, så blir det bäst. Det finns en tråd om hur man gör på LinuxCNC-forumet.
Såvitt jag vet, har ingen lyckats köra nVidia, varken med deras egna drivis eller någon annan. Det är bara att byta ut kortet alternativt att gå över på MESA eller motsvarande.

Lycka till - det kommer bli finfint när du får till det!

/Christoffer
Användarvisningsbild
Glenn
Inlägg: 33774
Blev medlem: 24 februari 2006, 12:01:56
Ort: Norr om Sthlm
Kontakt:

Re: Hög latency i LinuxCNC

Inlägg av Glenn »

Just nu kör jag tydligen:

glenn@millan:~$ uname -a
Linux millan 3.4-9-rtai-686-pae #1 SMP PREEMPT Debian 3.4.55-4linuxcnc i686 GNU/Linux

..och jag ska köra paralellport dessvärre.

Testade att slå av en kärna, blev mer eller mindre exakt samma värden.


Hmm, kanske skulle byta ut grafikkortet iaf, tyvärr är detta det enda lågprofils grafikkortet jag äger, ska se om jag kan få tag i nåt annat.
Användarvisningsbild
Glenn
Inlägg: 33774
Blev medlem: 24 februari 2006, 12:01:56
Ort: Norr om Sthlm
Kontakt:

Re: Hög latency i LinuxCNC

Inlägg av Glenn »

Efter lite googlande hittade jag att Core2Duo ofta har problem som kan avhjälpas med att skicka kernelparametern "idle=poll", testade det och plötsligt så hade jag 2831 (61523) på servo och 5682 (20765) på base.. (värden från sista testet innan ändring inom parantes) En ENORM skillnad och nu långt inom rekommenderat.
Användarvisningsbild
Glenn
Inlägg: 33774
Blev medlem: 24 februari 2006, 12:01:56
Ort: Norr om Sthlm
Kontakt:

Re: Hög latency i LinuxCNC

Inlägg av Glenn »

Testade att slå på båda kärnorna samt återställa andra grejer jag testat att slå av, typ PCI-bus och ljudet, plötsligt var servo thread nere i 1906(!) och base i 2950..

Nu testade jag att rycka ur nvidiakortet och då gick värdena upp till 3584 på servo och 2695 på base, fortfarande ljusår från innan jag ändrade kernelparametern.

..Ett annat grafikkort vore nog bra, speciellt eftersom den fria nvidiadrivern är rätt värdelös, och det UTTRYCKLIGEN står att man inte ska köra nvidias egna ihop med linuxcnc, men det verkar fungera bra med den inbyggda intelgrafiken också.
bobobo
Inlägg: 677
Blev medlem: 10 november 2007, 22:18:30
Ort: Kungsbacka

Re: Hög latency i LinuxCNC

Inlägg av bobobo »

Tack för tipset om idle=poll.
Jag har lite problem trots att jag har Mesa-kort och bara kör servo-thread. Jag har vid enstaka tillfällen en latency över 100us.

Men jag undrar varför du kör Preempt kärna istället för RTAPI?
Som jag förstått det så är RTAPI det rekommenderade valet om man ska köra parallellport och Preempt rekommenderat om man ska köra via Ethernet.
Användarvisningsbild
NeoTech
Inlägg: 1072
Blev medlem: 15 maj 2008, 11:14:44
Ort: Örebro/Frövi

Re: Hög latency i LinuxCNC

Inlägg av NeoTech »

Preempt verkar dock bli standard kärnan då det är den som som utvecklas av kernel gänget själva o RTAI är en 3e parts.

Skillnaden e mest hur applikationen körs, RTAI är en virtuell runtime inuti kerneln som e meckig o få att fungera på alla versioner av kernels. Preempt funkar alltid.
Skriv svar