Re: Testers please!

1999-09-22 Thread Poul-Henning Kamp

In message <[EMAIL PROTECTED]>, Jim Bryant writes:

>since there is only a single master clock oscillator, there really
>should be no frequency difference between CPUs.

As long it runs constantly: yes.  As soon as you have clock-stop
events you will have different resync times for the on-chip PLLs.

>Ideally, motherboards should be
>designed to have equal length clock lines to each CPU, 

They are, but that doesn't mean that the PLL'ed core frequencies
are in lockstep when the clocks change.

>the current price of accurate TCXOs is low enough to be economical in
>PCs, and these seriously reduce the drift compared to the cheezy TTL
>clocks currently used.

There are no cheesy TTL clocks used.  There are random encapsulated
rock with pretty high-quality drive circuitry and PLL generation
of all sorts of other frequencies.

>speaking of atomic breakdown...  they could start making cheaper
>cesium-beam tubes given the current level of the nuclear waste issue

The actual amount of Cs in the Cesium unit has no cost impact.  There
are man components of a Cs unit which carry significantly higher
pricetags than the few grammes of Cs.  A un-optimally constructed
Cs is worse than a low-cost Rb unit.

>Cesium beam tubes are essentially extremely accurate
>narrow bandwidth filters, and not oscillators.

It is neither.

>with russia having made two seperate threats of aggression to destroy
>the entire planet with nuclear weapons in the past twelve months [...]

Lets not get too far from the topic, OK ?

--
Poul-Henning Kamp FreeBSD coreteam member
[EMAIL PROTECTED]   "Real hackers run -current on their laptop."
FreeBSD -- It will take a long time before progress goes too far!


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: Testers please!

1999-09-22 Thread Rodney W. Grimes

...
> > One question comes to mind: is there a way that the TSCs could become
> > desynchronized somehow?  Even though all CPUs run at the same frequency,
> > isn't there a strong possibility for slight frequency deviation since
> > we use crystal oscillation instead of a more accurate atomic breakdown
> > for regulation, or am I just smoking crack?
> 
> time for rehab, dude.
> 
> since there is only a single master clock oscillator, there really
> should be no frequency difference between CPUs.  There is the a phase
> difference caused by differences in conductor lengths between the
> master clock and the CPUs, but this difference is fixed by the length
> of the conductor and the laws of physics.  Granted, all crystals have
> drift over time and temperature, but this drift should be identical
> for all CPUs on the same clock bus.  Ideally, motherboards should be
> designed to have equal length clock lines to each CPU, thus
> eliminating this phase difference, especially with multiple selectable
> clock speeds which would change the wavelength, and thus the phase
> difference if the lines are of differing lengths.

And I would suspect if some one was to go look at the layout requirements
in Intel's design data for SMP boards you would find it is a requirement
that all CPU's in an SMP system have a very minimal phase skew in the
clock driven to the chip.  How else are you going to run in sync with
the shared processor bus.  I suspect that the allowed margin on the phase
of the clock pin is specified in pico seconds, and probably near 50 or so,
given the 100Mhz nature of this signal.

73 to KC5VDJ, KD7CAX
-- 
Rod Grimes - KD7CAX - (RWG25)[EMAIL PROTECTED]


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: Testers please!

1999-09-22 Thread Jim Bryant

In reply:
> On Tue, 21 Sep 1999, Luoqi Chen wrote:
> 
> > This reminds me about the usage of TSC counter on SMP. First even though
> > we don't use TSC for time keeping on SMP, the TSC frequency from calibration
> > is still valid (at least for BSP), and we can show it in the cpu identification
> > message. Second, the listed reason for not using TSC on SMP is the inability
> > to synchronize TSCs on all cpus. My question is, is it really necessary?
> > TSC is initialized to 0 at hardware reset, which should happen to all CPUs
> > at the same time (invalid assumption?), in another words, all TSCs should be
> > automatically synchronized.
> 
> ISTRT something I did long ago was kill the TSC reset FreeBSD did, so
> there should be no reason that they won't be all at the same place.  I
> am willing to bet half my farm that the biggest problem was that we
> did that, and barring that we could have always done SMP using the TSC.
> 
> One question comes to mind: is there a way that the TSCs could become
> desynchronized somehow?  Even though all CPUs run at the same frequency,
> isn't there a strong possibility for slight frequency deviation since
> we use crystal oscillation instead of a more accurate atomic breakdown
> for regulation, or am I just smoking crack?

time for rehab, dude.

since there is only a single master clock oscillator, there really
should be no frequency difference between CPUs.  There is the a phase
difference caused by differences in conductor lengths between the
master clock and the CPUs, but this difference is fixed by the length
of the conductor and the laws of physics.  Granted, all crystals have
drift over time and temperature, but this drift should be identical
for all CPUs on the same clock bus.  Ideally, motherboards should be
designed to have equal length clock lines to each CPU, thus
eliminating this phase difference, especially with multiple selectable
clock speeds which would change the wavelength, and thus the phase
difference if the lines are of differing lengths.

the current price of accurate TCXOs is low enough to be economical in
PCs, and these seriously reduce the drift compared to the cheezy TTL
clocks currently used.

speaking of atomic breakdown...  they could start making cheaper
cesium-beam tubes given the current level of the nuclear waste issue
if they felt like it, provided some kind of untamperable enclosure can
be built [30 year half life, biologically behaves like potassium and
goes straight for the muscle, 200 day biological half-time].  let's
not bury nuclear waste, let's put it to use IN PCs!  even then, such a
clock would only act as a reference filter to correct a running
oscillator.  Cesium beam tubes are essentially extremely accurate
narrow bandwidth filters, and not oscillators.

with russia having made two seperate threats of aggression to destroy
the entire planet with nuclear weapons in the past twelve months [MAD
is still a policy, they launch, everybody launches], GPS/GOES is not a
good idea for clock synchronization.  an EMP pulse would take the sats
out, but then many computers would be zapped at the same time anyhow,
thus making this a moot point for anything that is plugged in at the
time or has cables attached at the time.  [this is not intended to be
a political statement, nor am i bashing common russians, this is just
a reality check].

jim
-- 
All opinions expressed are mine, if you|  "I will not be pushed, stamped,
think otherwise, then go jump into turbid  |  briefed, debriefed, indexed, or
radioactive waters and yell WAHOO !!!  |  numbered!" - #1, "The Prisoner"
--
Inet: [EMAIL PROTECTED]AX.25: kc5vdj@wv0t.#neks.ks.usa.noam grid: EM28pw
voice: KC5VDJ - 6 & 2 Meters AM/FM/SSB, 70cm FM.   http://www.tfs.net/~jbryant
--
HF/6M/2M: IC-706-MkII, 2M: HTX-212, 2M: HTX-202, 70cm: HTX-404, Packet: KPC-3+


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: Testers please!

1999-09-22 Thread Poul-Henning Kamp

In message <[EMAIL PROTECTED]>, Luoqi Chen writes:

>> people have found sufficiently many cases where the counters are
>> not in sync after the BIOS is done.
>> 
>I would really like to know how they managed to read the TSCs simultaneously,
>or they resorted to some kind of statistical means (which I tried without
>much success, maybe I will try later with some kernel hooks).

The differences were pretty significant in offset, I havn't heard
any numbers from them on skew, and I don't know of anybody who
have tried to measure it.

The trouble with N counters for N>1 is that you need to add code
to synchronize AND syntonize them, you need code to make sure time
is monotonic no matter what and yada yada yada.

By the time you're done the i8254 doesn't look so bad after all...

The ACPI counter is a good sized step in the right direction, they
should have made it PCI clock driven, to get better resolution but
I suspect the fact that they didn't is a sign that the PCI clock
will be power munged at some point.

For "general purpose" time a clock which is about the resolution of
the IO busses is sufficient, the ACPI is a little low on frequency,
but hey, it's miles better than the i8254, and the APM/ACPI will
not fuck with it's frequency.

For high resolution timing of "in-cpu" events, the TSC is still the
way to go, and nothing (except SMP complexity) prevents it from 
being used for that, and it is probably pointless to convert the
data to nanoseconds until the difference has been found in the
end anyway.

--
Poul-Henning Kamp FreeBSD coreteam member
[EMAIL PROTECTED]   "Real hackers run -current on their laptop."
FreeBSD -- It will take a long time before progress goes too far!


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: Testers please!

1999-09-22 Thread Luoqi Chen

> >TSC is initialized to 0 at hardware reset, which should happen to all CPUs
> >at the same time (invalid assumption?), in another words, all TSCs should be
> >automatically synchronized.
> 
> They are not.  The PLL is local to each cpu and every single
> clock-stop/start event has then inching away from each other because
> the on-chip VCO is very temperature dependent.  Furthermore Linux

The internal clock is phase-locked to an external clock source, which should
be the same bus clock and identical for all cpus. The multipliers for the
internal clocks should also be identical (in almost all cases unless you
design your own mother board). The highest multiplier as of today is 6x
(600MHz cpu on a 100MHz bus), it might increase over time, but I expect it
to be still around 10. If the PLL's accuracy is 1%, the difference between
two cpus could at most be 10% (or 3% = 1% * sqrt(10), assuming a Gaussian
distribution of the drift) of the internal clock cycle, that is 10% (3%) of the
time you might get two different readings (differ by 1) if you read TSCs of
two cpus simultaneously, that's still much more accurate than the i8254 timer.

> people have found sufficiently many cases where the counters are
> not in sync after the BIOS is done.
> 
I would really like to know how they managed to read the TSCs simultaneously,
or they resorted to some kind of statistical means (which I tried without
much success, maybe I will try later with some kernel hooks).

The multiplier is set at hard reset, so BIOS couldn't change that (some
mother boards may be soft configurable, but the change has to take effect
after next reset). Bus clock is external, BIOS couldn't change that either.
So the internal clock is not affected by BIOS. Now it would be really hard 
or me to believe that TSC is not a simple counter that increments at each
internal clock edge. I am very skeptical about the Linux people's findings.

> --
> Poul-Henning Kamp FreeBSD coreteam member
> [EMAIL PROTECTED]   "Real hackers run -current on their laptop."
> FreeBSD -- It will take a long time before progress goes too far!
> 

-lq


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: Testers please!

1999-09-21 Thread Poul-Henning Kamp

In message <[EMAIL PROTECTED]>, Luoqi Chen writes:

>Second, the listed reason for not using TSC on SMP is the inability
>to synchronize TSCs on all cpus. My question is, is it really necessary?

Strictly speaking no, it isn't necessary, but unless they are in sync
the timekeeping code gets very complex.  See Dave "ntp" Mills code to
hold them in sync.

>TSC is initialized to 0 at hardware reset, which should happen to all CPUs
>at the same time (invalid assumption?), in another words, all TSCs should be
>automatically synchronized.

They are not.  The PLL is local to each cpu and every single
clock-stop/start event has then inching away from each other because
the on-chip VCO is very temperature dependent.  Furthermore Linux
people have found sufficiently many cases where the counters are
not in sync after the BIOS is done.

--
Poul-Henning Kamp FreeBSD coreteam member
[EMAIL PROTECTED]   "Real hackers run -current on their laptop."
FreeBSD -- It will take a long time before progress goes too far!


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: Testers please!

1999-09-21 Thread Mike Smith

> One question comes to mind: is there a way that the TSCs could become
> desynchronized somehow?  Even though all CPUs run at the same frequency,
> isn't there a strong possibility for slight frequency deviation since
> we use crystal oscillation instead of a more accurate atomic breakdown
> for regulation, or am I just smoking crack?

They should all be using the same clock source, so that's not an issue.

-- 
\\  The mind's the standard   \\  Mike Smith
\\  of the man.   \\  [EMAIL PROTECTED]
\\-- Joseph Merrick   \\  [EMAIL PROTECTED]




To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: Testers please!

1999-09-21 Thread Brian F. Feldman

On Tue, 21 Sep 1999, Luoqi Chen wrote:

> This reminds me about the usage of TSC counter on SMP. First even though
> we don't use TSC for time keeping on SMP, the TSC frequency from calibration
> is still valid (at least for BSP), and we can show it in the cpu identification
> message. Second, the listed reason for not using TSC on SMP is the inability
> to synchronize TSCs on all cpus. My question is, is it really necessary?
> TSC is initialized to 0 at hardware reset, which should happen to all CPUs
> at the same time (invalid assumption?), in another words, all TSCs should be
> automatically synchronized.

ISTRT something I did long ago was kill the TSC reset FreeBSD did, so
there should be no reason that they won't be all at the same place.  I
am willing to bet half my farm that the biggest problem was that we
did that, and barring that we could have always done SMP using the TSC.

One question comes to mind: is there a way that the TSCs could become
desynchronized somehow?  Even though all CPUs run at the same frequency,
isn't there a strong possibility for slight frequency deviation since
we use crystal oscillation instead of a more accurate atomic breakdown
for regulation, or am I just smoking crack?

> 
> -lq
> 
> 
> To Unsubscribe: send mail to [EMAIL PROTECTED]
> with "unsubscribe freebsd-current" in the body of the message
> 

-- 
 Brian Fundakowski Feldman   \  FreeBSD: The Power to Serve!  /
 [EMAIL PROTECTED]`--'



To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: Testers please!

1999-09-21 Thread Luoqi Chen

> If you have a PIIX4 based SMP system and run current, could you
> please try out this patch:
> 
>   http://phk.freebsd.dk/piix/
> 
> I'm very interested in hearing if there are any measurable difference
> apart from clock granularity being 3 times better.
> 
> --
> Poul-Henning Kamp FreeBSD coreteam member
> [EMAIL PROTECTED]   "Real hackers run -current on their laptop."
> FreeBSD -- It will take a long time before progress goes too far!
> 
This reminds me about the usage of TSC counter on SMP. First even though
we don't use TSC for time keeping on SMP, the TSC frequency from calibration
is still valid (at least for BSP), and we can show it in the cpu identification
message. Second, the listed reason for not using TSC on SMP is the inability
to synchronize TSCs on all cpus. My question is, is it really necessary?
TSC is initialized to 0 at hardware reset, which should happen to all CPUs
at the same time (invalid assumption?), in another words, all TSCs should be
automatically synchronized.

-lq


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: Testers please!

1999-09-20 Thread Jim Bryant

In reply:
> If you have a PIIX4 based SMP system and run current, could you
> please try out this patch:
> 
>   http://phk.freebsd.dk/piix/
> 
> I'm very interested in hearing if there are any measurable difference
> apart from clock granularity being 3 times better.

just cvsupped, added your changes, and am building world and a new
kernel.

i'll get back to ya.

jim
-- 
All opinions expressed are mine, if you|  "I will not be pushed, stamped,
think otherwise, then go jump into turbid  |  briefed, debriefed, indexed, or
radioactive waters and yell WAHOO !!!  |  numbered!" - #1, "The Prisoner"
--
Inet: [EMAIL PROTECTED]AX.25: kc5vdj@wv0t.#neks.ks.usa.noam grid: EM28pw
voice: KC5VDJ - 6 & 2 Meters AM/FM/SSB, 70cm FM.   http://www.tfs.net/~jbryant
--
HF/6M/2M: IC-706-MkII, 2M: HTX-212, 2M: HTX-202, 70cm: HTX-404, Packet: KPC-3+


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: Testers please!

1999-09-20 Thread Poul-Henning Kamp

In message <[EMAIL PROTECTED]>, Peter Wemm writes
:
>Poul-Henning Kamp wrote:
>> 
>> Ok, noted.  I changed to to fail the probe but still use the hardware.
>
>If intpm is probed first (the smbus driver), your probe won't even get
>called. I think we need an early quirks or hooks handler in the pci probes
>to handle stuff like this.  For example, we have hooks fixing up a handful
>of wierd bios misconfigurations, collecting these together via a quirks
>table or whatever would also give a convenient place for you to hook this
>sort of thing into, and without it being dependent on link or probe order.

sigh...

--
Poul-Henning Kamp FreeBSD coreteam member
[EMAIL PROTECTED]   "Real hackers run -current on their laptop."
FreeBSD -- It will take a long time before progress goes too far!


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: Testers please!

1999-09-20 Thread Peter Wemm

Poul-Henning Kamp wrote:
> 
> Ok, noted.  I changed to to fail the probe but still use the hardware.

If intpm is probed first (the smbus driver), your probe won't even get
called. I think we need an early quirks or hooks handler in the pci probes
to handle stuff like this.  For example, we have hooks fixing up a handful
of wierd bios misconfigurations, collecting these together via a quirks
table or whatever would also give a convenient place for you to hook this
sort of thing into, and without it being dependent on link or probe order.

> Poul-Henning
> 
> In message <[EMAIL PROTECTED]>, Peter Wemm writ
es
> :
> >Poul-Henning Kamp wrote:
> >> 
> >> If you have a PIIX4 based SMP system and run current, could you
> >> please try out this patch:
> >> 
> >>http://phk.freebsd.dk/piix/
> >> 
> >> I'm very interested in hearing if there are any measurable difference
> >> apart from clock granularity being 3 times better.
> >
> >There is a problem with it as it tries to claim the same device as claimed
> >by pcisupport.c and intpm.c..  pcisupport.c is where some folks have been
> >hanging Tor Egge's RTC SMI trap patch from..

Cheers,
-Peter



To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: Testers please!

1999-09-20 Thread Poul-Henning Kamp


Ok, noted.  I changed to to fail the probe but still use the hardware.

Poul-Henning

In message <[EMAIL PROTECTED]>, Peter Wemm writes
:
>Poul-Henning Kamp wrote:
>> 
>> If you have a PIIX4 based SMP system and run current, could you
>> please try out this patch:
>> 
>>  http://phk.freebsd.dk/piix/
>> 
>> I'm very interested in hearing if there are any measurable difference
>> apart from clock granularity being 3 times better.
>
>There is a problem with it as it tries to claim the same device as claimed
>by pcisupport.c and intpm.c..  pcisupport.c is where some folks have been
>hanging Tor Egge's RTC SMI trap patch from..
>
>Cheers,
>-Peter
>--
>Peter Wemm - [EMAIL PROTECTED]; [EMAIL PROTECTED]; [EMAIL PROTECTED]
>
>

--
Poul-Henning Kamp FreeBSD coreteam member
[EMAIL PROTECTED]   "Real hackers run -current on their laptop."
FreeBSD -- It will take a long time before progress goes too far!


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: Testers please!

1999-09-19 Thread Peter Wemm

Poul-Henning Kamp wrote:
> 
> If you have a PIIX4 based SMP system and run current, could you
> please try out this patch:
> 
>   http://phk.freebsd.dk/piix/
> 
> I'm very interested in hearing if there are any measurable difference
> apart from clock granularity being 3 times better.

There is a problem with it as it tries to claim the same device as claimed
by pcisupport.c and intpm.c..  pcisupport.c is where some folks have been
hanging Tor Egge's RTC SMI trap patch from..

Cheers,
-Peter
--
Peter Wemm - [EMAIL PROTECTED]; [EMAIL PROTECTED]; [EMAIL PROTECTED]



To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: Testers please!

1999-09-19 Thread Poul-Henning Kamp

In message <[EMAIL PROTECTED]>, Dav
id Scheidt writes:
>On Sun, 19 Sep 1999, Poul-Henning Kamp wrote:
>
>> 
>> If you have a PIIX4 based SMP system and run current, could you
>> please try out this patch:
>> 
>>  http://phk.freebsd.dk/piix/
>> 
>> I'm very interested in hearing if there are any measurable difference
>> apart from clock granularity being 3 times better.
>
>What sort of tests would you like done before and after?

Any test you can think of really.

I don't expect any problems, but I am very interested in the
performance difference if any, since that would give me a good
indication if it is a worthwhile job to spend more time on
obfuscat^H^H^H^H^H^H^Hptimizing the timecounter code.

As far as I can tell, access to the PIIX timecounter is about 2.5
microseconds faster than to the i8254.  In relative terms it is
about a factor 3 faster.

You can flip forth and back between the old and new behaviour with:

New:
sysctl -w kern.timecounter.hardware=PIIX

(if it refuses you probably don't have the PIIX4 hardware)

Old:
sysctl -w kern.timecounter.hardware=i8254

--
Poul-Henning Kamp FreeBSD coreteam member
[EMAIL PROTECTED]   "Real hackers run -current on their laptop."
FreeBSD -- It will take a long time before progress goes too far!


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: Testers please!

1999-09-19 Thread David Scheidt

On Sun, 19 Sep 1999, Poul-Henning Kamp wrote:

> 
> If you have a PIIX4 based SMP system and run current, could you
> please try out this patch:
> 
>   http://phk.freebsd.dk/piix/
> 
> I'm very interested in hearing if there are any measurable difference
> apart from clock granularity being 3 times better.

What sort of tests would you like done before and after?

David Scheidt



To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Testers please!

1999-09-19 Thread Poul-Henning Kamp


If you have a PIIX4 based SMP system and run current, could you
please try out this patch:

http://phk.freebsd.dk/piix/

I'm very interested in hearing if there are any measurable difference
apart from clock granularity being 3 times better.

--
Poul-Henning Kamp FreeBSD coreteam member
[EMAIL PROTECTED]   "Real hackers run -current on their laptop."
FreeBSD -- It will take a long time before progress goes too far!


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message