Further Wierdness, was: Re: Download Question

Gene Heskett gheskett at wdtv.com
Fri Jun 12 15:04:49 UTC 2015


On Friday 12 June 2015 05:12:24 Ralf Mardorf wrote:
> On Fri, 12 Jun 2015 09:54:58 +0200, user49b wrote:
> >Hi Bill
> >
> >http://en.wikipedia.org/wiki/Multi-core_processor
> >
> >So according to ARK
> >"http://ark.intel.com/products/80807/Intel-Core-i7-4790K-Processor-8M
> >-Cache-up-to-4_40-GHz" - your CPU has 4 Cores and 8 Threads.
>
> Is this what some people often mention as "hyperthreading" or similar?
> If so, I often read that this could cause issues for real-time usage
> and should be turned of in the BIOS.
> JFTR for controlling a CNC machine there likely is the need to use a
> real-time patched kernel.
>
> http://wiki.linuxcnc.org/cgi-bin/wiki.pl?RealTime
>
> Gene does know more about this topic than I do, so I Cc'ed him.

This is essentially true. The hard realtime timings needed by driving 
stepper motors in pure software, can only be done by using an RTAI 
patched kernel, and the choices are quite limiting.  No PAE and no 64 
bit alowed because they both slow the kernels response to a hard IRQ.
Stepper motors, when running at speed, depend on a steady heartbeat, and 
wobbles in the timeing of a step pulse will cause a severe loss of 
torque and a frozen motor that once stopped, cannot re-accelerate to 
maintain step synch with the pulses when they resume, often with a 
speedup to catchup.

However, if the hard realtime stuff is delegated to a plugin pci card,
and I am in the process of installing a mesanet 5i25 card in all my 
machines, then the choices are much wider.  64 bit or PAE can be handled 
fairly well as the base loop that does all the "floating point math" 
loop, normally runs at a 1 millisecond interval although I did have one 
running at 250 microseconds for a while as that seemed to be the only 
way I could stop a high speed hunting in the spindle speed servo.

For the curious, that turned out to be that I had a handfull of "addf"s 
in the *.hal file out of order, so the propagation delays thru the logic 
were stretched by many cycles.  The "hal" files logic modules are 
executed in the order of the addf occurrence, so those delays all 
collapse to a freaction of one cycle, if the input signal from the speed 
encoder is first, and each module then addf'd in the sequence of the 
signal flow thru the ciruit, finally ending at the pwm generator that 
controls the motor.  End of problem.

I would comment, for those in love with the proprietary NVidia driver for 
their gfx card, probably won't be able to use it because that driver 
gets much of its speed by masking off all IRQ's for as much as 200 
milliseconds at a time, I have watched it on a scope.  The nouveau 
driver, which is getting better all the time, doesn't do that and I am 
using it on this machine where it is plenty fast enough to display the 
backplot of a simulated machine moving at 10x faster speeds than the 
real thing can without breaking expensive tooling at $20-$80 a pop.

Also in the FWIW dept, huge cpu horsepower isn't needed to do submicron 
theoretical accuracy, (accurate screws to move it are the real limit, 
difficult to keep it within .0001" without throwing wagon loads of money 
to the screw makers) we're using dual core atom boards for x86 work, but 
distributed computing helps, there are now some pretty big machines 
being run rather nicely by a BeagleBone Black as its plethora of PRU's 
can replace the hard realtime stuff quite nicely.  Google 
for "MachineKit". Its a fork of linuxcnc to run on the beaglebone black.  
The breakout board 'cape' and a wall wart psu run it up to about $200, 
and I may even wind up running my latest mill purchase with it.  I 
cannot buy x86 hardware suitable at that price.

Back to your regularly scheduled, more on topic, discussions.

> >"uname -a" pics up all.
> >This will be similar info than what you are seeing in
> > "/proc/cpuinfo".
>
> No, it provides kernel information, hwinfo and other commands provide
> hardware information, somebody already named another command in this
> thread.

Cheers, Gene Heskett
-- 
"There are four boxes to be used in defense of liberty:
 soap, ballot, jury, and ammo. Please use in that order."
-Ed Howdershelt (Author)
Genes Web page <http://geneslinuxbox.net:6309/gene>




More information about the kubuntu-users mailing list