[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Debian on Pine64 H64B?

On Tuesday 21 September 2021 14:43:57 Lennart Sorensen wrote:

> On Tue, Sep 21, 2021 at 11:36:51AM -0400, Gene Heskett wrote:
> > Humph, idea borrowed from the Z-80 of the very late 70's, or
> > possibly from the TI 9900's, which had no registers, all in memory
> > and it changed context by resetting the index counter to a different
> > address for a new set of registers. Same idea, different execution
> > but it worked well.
> Well those required the software to ask to change the pointer to
> memory for the registers.  The hyperthreading just has two sets of
> registers and switches between them whenever the other thread stalls
> (so no delay for any code to run to do the switch).  But since to the
> OS it looks like 2 CPUs, the fact that the amount of clock cycles each
> thread gets to execute varies, makes to a mess if you are trying to do
> predicable realtime. I certainly can't imagine a real time system
> working right with hyperthreading enabled.
> > But it in 3 examples of the Z-80 in about 1981 while I was coding up
> > an ATS that looked like a transmitter remote control (different FCC
> > rules) only 1 would reliably swap registers when it read an E6
> > command. I paid for two more as the warranty had expired by the time
> > I discovered it, so in 5 examples, I actually got two that worked.
> > They were about $35/copy at the time. I mistakenly thought it might
> > have been a step up from the first micro-controller I used to make a
> > commercial production tool at a tv station, an RCA 1802.
> >
> > That was in 1979-80, and turned out to be so handy they were still
> > using it in 1995. Thats a couple eons in tv station control room
> > gear life. The RCA Just Worked, the Zilog not so much. I've done
> > several other tv production related projects since, never touched a
> > Zilog product again. Very bad aftertaste.
> >
> > Motorola's 6809, now the smarter Hitachi 6309, a cmos workalike
> > until we discovered it had more registers than the moto version. A
> > fact that hitachi is still contractually enjoined from ever
> > confirming the existance of, they had permission to clone it, but
> > never saw the moto masks, so they microcoded it, filling up the
> > empty spaces in the 6809 mapping. So that was my fav small cpu for
> > 30 years.
> >
> > In any event, it sure screws things up in terms of IRQ latency. The
> > other thing we turn off if we can is the SMS stuff, it can throw a
> > several millisecond monkey wrench into the gears if software
> > stepping. Not very often, but will leave its mark (litteraly) on the
> > part being carved at the time. A gear tooth out of position, which
> > since cutting a gear tooth is a repetitive operation, means that
> > tooth may be narrower by .001".
> >
> > Another item that impinges on the arm speed is that the arm doesn't
> > have the concept, so we've been told, of "isolcpus", where a cpu
> > core is removed from the schedulers execution pool, and later given
> > the job of handling the irq's. This works well on the wintels, but
> > not as effectively on the AMD stuff.
> >
> > My understanding is that you can isolate an arm core but cannot
> > later assign it a task until a powerdown reset is done.  So code
> > that can service an irq on x86-64 in 4 microseconds, can only do it
> > in about 12 microseconds on arm because a core to do it on has to be
> > selected and the context switch performed. Fireing up firefox might
> > extend that lag to 200 microseconds, but otherwise the worst case on
> > the rpi4 is around 50 microseconds but it might take several minutes
> > to record that big a lag with the kernel I'm using. That has not
> > been a problem with the work I've done with it.
> >
> > Is that understanding correct ?
> Well I can find people reporting that 'isolcpus' worked on RPi4, but
> that core 0 was an exception and could not be isulated (since it is
> the boot CPU and the isolation was done before the other cores were
> booted it seemed).  But it also said 'isolcpus' is deprecated and
> replaced by 'cpusets'
> https://www.kernel.org/doc/html/v5.9/admin-guide/cgroup-v1/cpusets.htm

bookmarked, that will take some study to grok how that works.  Is there a 
minimum kernel version?

Thank you Lennart.

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)
If we desire respect for the law, we must first make the law respectable.
 - Louis D. Brandeis
Genes Web page <http://geneslinuxbox.net:6309/gene>

Reply to: