f



announce: PPSkit-2.1.2 for Linux 2.4.21

Hello patchers and mergers,

Jeff Mock, Kasenna, Inc., and I proudly announce the availability of
PPSkit-2.1.2 since 7:00 UTC.  The work for this release was funded by
Kasenna, Inc. (thanks!).

Here are the boring news:

			      NEWS for 2.1.2

* Merged patch for Linux-2.4.21.  Some architectures may no longer be
  working because of modifications in timing code that I don't understand.
  Intel Pentium does work however.

* Revised ``INSTALL''.  I still think it's worth reading.  Revised
  ``README''.

* This release has been sponsored (see CREDITS).
--------

I would like to have any feedback regarding architectures other than
ia32/Pentium.  The download can be found on up-to-date Linux mirrors
in /pub/linux/daemons/ntp/PPS as PPSkit-2.1.2.tar.gz (or bz2). The
size is about 125kB.

Those who report problems might get fixes! Please find a bug!

Enjoy,
Ulrich
0
Ulrich
9/3/2003 7:57:54 AM
comp.protocols.time.ntp 4895 articles. 2 followers. Post Follow

18 Replies
933 Views

Similar Articles

[PageSpeed] 5

In article <m37k4qmhh9.fsf@pc5234.rz.uni-regensburg.de>, Ulrich Windl wrote:
>I would like to have any feedback regarding architectures other than
>ia32/Pentium.  The download can be found on up-to-date Linux mirrors
>in /pub/linux/daemons/ntp/PPS as PPSkit-2.1.2.tar.gz (or bz2). The
>size is about 125kB.

What are the reasons Linux use TSC for PPS timestamping, while
FreeBSD-5.1-RELEASE use ACPI (by default)? -- I don't say ACPI is
better, just asking.

-- 
Piotr Trojanek
0
ptrojane
9/3/2003 8:56:35 AM
Piotr Trojanek wrote:

> In article <m37k4qmhh9.fsf@pc5234.rz.uni-regensburg.de>, Ulrich Windl wrote:
> 
>>I would like to have any feedback regarding architectures other than
>>ia32/Pentium.  The download can be found on up-to-date Linux mirrors
>>in /pub/linux/daemons/ntp/PPS as PPSkit-2.1.2.tar.gz (or bz2). The
>>size is about 125kB.
> 
> 
> What are the reasons Linux use TSC for PPS timestamping, while
> FreeBSD-5.1-RELEASE use ACPI (by default)? -- I don't say ACPI is
> better, just asking.
> 

TSC is mostly useless on SMP machines unfortunatly, unless you can pin 
your process, including all PPS interrupt handlers, to a single CPU.

Terje

-- 
- <Terje.Mathisen@hda.hydro.com>
"almost all programming can be viewed as an exercise in caching"

0
Terje
9/3/2003 8:09:35 PM
Ulrich,

At the risk and inherent habit of making trouble, how is it that the
base Linux kernel does not have the PPSKit function? It seems a real
lose to adapt to each and every wrinkle in the patriarch's brow. Hmm;
maybe I should rephrase that.

Dave

> 
> Hello patchers and mergers,
> 
> Jeff Mock, Kasenna, Inc., and I proudly announce the availability of
> PPSkit-2.1.2 since 7:00 UTC.  The work for this release was funded by
> Kasenna, Inc. (thanks!).
> 
> Here are the boring news:
> 
>                               NEWS for 2.1.2
> 
> * Merged patch for Linux-2.4.21.  Some architectures may no longer be
>   working because of modifications in timing code that I don't understand.
>   Intel Pentium does work however.
> 
> * Revised ``INSTALL''.  I still think it's worth reading.  Revised
>   ``README''.
> 
> * This release has been sponsored (see CREDITS).
> --------
> 
> I would like to have any feedback regarding architectures other than
> ia32/Pentium.  The download can be found on up-to-date Linux mirrors
> in /pub/linux/daemons/ntp/PPS as PPSkit-2.1.2.tar.gz (or bz2). The
> size is about 125kB.
> 
> Those who report problems might get fixes! Please find a bug!
> 
> Enjoy,
> Ulrich
0
David
9/4/2003 3:03:55 AM
Terje,

Not all. The nanokernel for Digital [!!] Alpha SMP was intricately
engineered to prosper using multiple PCC (TSC) disciplined to the kernel
time variable. This little bit of proprietary nonsense might not be
easily apparent in the distribution that left here, but I don't think it
has been widely copied outside of the Tru64 kernel.

Dave

Terje Mathisen wrote:
> 
> Piotr Trojanek wrote:
> 
> > In article <m37k4qmhh9.fsf@pc5234.rz.uni-regensburg.de>, Ulrich Windl wrote:
> >
> >>I would like to have any feedback regarding architectures other than
> >>ia32/Pentium.  The download can be found on up-to-date Linux mirrors
> >>in /pub/linux/daemons/ntp/PPS as PPSkit-2.1.2.tar.gz (or bz2). The
> >>size is about 125kB.
> >
> >
> > What are the reasons Linux use TSC for PPS timestamping, while
> > FreeBSD-5.1-RELEASE use ACPI (by default)? -- I don't say ACPI is
> > better, just asking.
> >
> 
> TSC is mostly useless on SMP machines unfortunatly, unless you can pin
> your process, including all PPS interrupt handlers, to a single CPU.
> 
> Terje
> 
> --
> - <Terje.Mathisen@hda.hydro.com>
> "almost all programming can be viewed as an exercise in caching"
0
David
9/4/2003 3:11:26 AM
ptrojane@mion.elka.pw.edu.pl (Piotr Trojanek) writes:

> In article <m37k4qmhh9.fsf@pc5234.rz.uni-regensburg.de>, Ulrich Windl wrote:
> >I would like to have any feedback regarding architectures other than
> >ia32/Pentium.  The download can be found on up-to-date Linux mirrors
> >in /pub/linux/daemons/ntp/PPS as PPSkit-2.1.2.tar.gz (or bz2). The
> >size is about 125kB.
> 
> What are the reasons Linux use TSC for PPS timestamping, while
> FreeBSD-5.1-RELEASE use ACPI (by default)? -- I don't say ACPI is
> better, just asking.

I found out what the TSC is, but I have no idea about the APIC.

Ulrich

> 
> -- 
> Piotr Trojanek
0
Ulrich
9/4/2003 1:15:35 PM
OK, who has free APIC documentation?

Regards,
Ulrich

Terje Mathisen <terje.mathisen@hda.hydro.com> writes:

> Piotr Trojanek wrote:
> 
> > In article <m37k4qmhh9.fsf@pc5234.rz.uni-regensburg.de>, Ulrich Windl wrote:
> >
> >>I would like to have any feedback regarding architectures other than
> >>ia32/Pentium.  The download can be found on up-to-date Linux mirrors
> >>in /pub/linux/daemons/ntp/PPS as PPSkit-2.1.2.tar.gz (or bz2). The
> >>size is about 125kB.
> > What are the reasons Linux use TSC for PPS timestamping, while
> > FreeBSD-5.1-RELEASE use ACPI (by default)? -- I don't say ACPI is
> > better, just asking.
> >
> 
> TSC is mostly useless on SMP machines unfortunatly, unless you can pin
> your process, including all PPS interrupt handlers, to a single CPU.
> 
> Terje
> 
> -- 
> - <Terje.Mathisen@hda.hydro.com>
> "almost all programming can be viewed as an exercise in caching"
0
Ulrich
9/4/2003 1:16:33 PM
In article <slrnblbemk.bq7.ptrojane@mion.elka.pw.edu.pl>,
Piotr Trojanek <ptrojane@mion.elka.pw.edu.pl> wrote:
>What are the reasons Linux use TSC for PPS timestamping, while
>FreeBSD-5.1-RELEASE use ACPI (by default)? -- I don't say ACPI is
>better, just asking.

Maybe because more machines have TSC?
0
mcintosh
9/4/2003 5:19:32 PM
Ulrich Windl <Ulrich.Windl@RZ.Uni-Regensburg.DE> wrote in message news:<m37k4qmhh9.fsf@pc5234.rz.uni-regensburg.de>...
> * Merged patch for Linux-2.4.21.

I applied the patch to 2.4.22 with only a few minor hand-edits required,
and it seems to be working OK on i386.  I didn't even try for the other
architectures.

It looks to me like the "mainline" kernel authors have reserved KERN_TIME=55
in sysctl.h (even though the definition isn't there) but have used
0x5460 for FIOQSIZE in 2.4.22, a minor and easily corrected collision
with the PPS patch.

Tim.
0
shoppa
9/4/2003 5:31:11 PM
"Terje Mathisen" <terje.mathisen@hda.hydro.com> wrote in message
news:bj5hpv$m0a$2@osl016lin.hda.hydro.com...

> TSC is mostly useless on SMP machines unfortunatly, unless you can pin
> your process, including all PPS interrupt handlers, to a single CPU.

    Or if you can sync the TSCs, like Linux does.

    DS


0
David
9/4/2003 10:44:49 PM
David Schwartz wrote:
> "Terje Mathisen" <terje.mathisen@hda.hydro.com> wrote in message
> news:bj5hpv$m0a$2@osl016lin.hda.hydro.com...
> 
> 
>>TSC is mostly useless on SMP machines unfortunatly, unless you can pin
>>your process, including all PPS interrupt handlers, to a single CPU.
> 
> 
>     Or if you can sync the TSCs, like Linux does.

Only possible on machines where all cpus are the same speed, i.e. same 
multiplier (but that's not much of a problem, right?). However, I've 
been told (but without any satisfactory explanation) in comp.arch that 
it's effectively impossible to keep them really synchronized.

I guess I'll have to do some /usr/src spelunking!
....

Terje

-- 
- <Terje.Mathisen@hda.hydro.com>
"almost all programming can be viewed as an exercise in caching"

0
Terje
9/5/2003 6:50:29 AM
In article <bj7s76$sbd$1@mc-pc.research.telcordia.com>, Allen McIntosh wrote:
>In article <slrnblbemk.bq7.ptrojane@mion.elka.pw.edu.pl>,
>Piotr Trojanek <ptrojane@mion.elka.pw.edu.pl> wrote:
>>What are the reasons Linux use TSC for PPS timestamping, while
>>FreeBSD-5.1-RELEASE use ACPI (by default)? -- I don't say ACPI is
>>better, just asking.
>
>Maybe because more machines have TSC?

true, but only for "old" Pentium 100MHz and similar.
every modern PC I saw has both TSC and ACPI.

but on FreeBSD you can change used hardware on fly with:
sysctl kern.timecounter.hardware=[ACPI-fast|TSC|i8254]

(this is for 5.1-RELEASE, on 4.[78] sysctl variable was
diffrent, and no ACPI-fast was possible).

-- 
Piotr Trojanek
0
ptrojane
9/5/2003 8:01:49 AM
In article <3F56AD5E.3AF63B5D@udel.edu>, David L. Mills wrote:
>Terje,
>
>Not all. The nanokernel for Digital [!!] Alpha SMP was intricately
>engineered to prosper using multiple PCC (TSC) disciplined to the kernel
>time variable. This little bit of proprietary nonsense might not be
>easily apparent in the distribution that left here, but I don't think it
>has been widely copied outside of the Tru64 kernel.
>
>Dave

also the nanokernel.tar.gz simulator has some code for handling multiple
virtual CPU's.

-- 
Piotr Trojanek
0
ptrojane
9/5/2003 8:04:47 AM
In article <m3n0dj337c.fsf@pc5234.rz.uni-regensburg.de>, Ulrich Windl wrote:
>Today I rebooted the backup timeserver, a Intel 386/SX 16MHz with 8MB
>RAM (maximum possible) and a PIO IDE drive... ;-)
>
>The machine has no TSC, nor APIC, but is still works. It's one of the
>last quality computers being built...

that's not the point. question is why modern OS (like Linux is) doesn't
utilize modern timekeeping hardware of modern PC (like APIC on SMP
machines is) and should anybody do something about this?

if APIC is really better or if it is the only way for SMP (expecially
with different CPUs speeds), then in my opinion, it would be nice, to
have this in Linux:)

-- 
Piotr Trojanek
0
ptrojane
9/5/2003 10:19:48 AM
ptrojane@mion.elka.pw.edu.pl (Piotr Trojanek) writes:

> In article <bj7s76$sbd$1@mc-pc.research.telcordia.com>, Allen McIntosh wrote:
> >In article <slrnblbemk.bq7.ptrojane@mion.elka.pw.edu.pl>,
> >Piotr Trojanek <ptrojane@mion.elka.pw.edu.pl> wrote:
> >>What are the reasons Linux use TSC for PPS timestamping, while
> >>FreeBSD-5.1-RELEASE use ACPI (by default)? -- I don't say ACPI is
> >>better, just asking.
> >
> >Maybe because more machines have TSC?
> 
> true, but only for "old" Pentium 100MHz and similar.
> every modern PC I saw has both TSC and ACPI.

Today I rebooted the backup timeserver, a Intel 386/SX 16MHz with 8MB
RAM (maximum possible) and a PIO IDE drive... ;-)

The machine has no TSC, nor APIC, but is still works. It's one of the
last quality computers being built...

Regards,
Ulrich

> 
> but on FreeBSD you can change used hardware on fly with:
> sysctl kern.timecounter.hardware=[ACPI-fast|TSC|i8254]
> 
> (this is for 5.1-RELEASE, on 4.[78] sysctl variable was
> diffrent, and no ACPI-fast was possible).
> 
> -- 
> Piotr Trojanek
0
Ulrich
9/5/2003 11:05:43 AM
shoppa@trailing-edge.com (Tim Shoppa) writes:

> Ulrich Windl <Ulrich.Windl@RZ.Uni-Regensburg.DE> wrote in message news:<m37k4qmhh9.fsf@pc5234.rz.uni-regensburg.de>...
> > * Merged patch for Linux-2.4.21.
> 
> I applied the patch to 2.4.22 with only a few minor hand-edits required,
> and it seems to be working OK on i386.  I didn't even try for the other
> architectures.
> 
> It looks to me like the "mainline" kernel authors have reserved KERN_TIME=55
> in sysctl.h (even though the definition isn't there) but have used
> 0x5460 for FIOQSIZE in 2.4.22, a minor and easily corrected collision
> with the PPS patch.

Maybe the mainstream kernel will have some of the time sysctls one
day...

Regards,
Ulrich

> 
> Tim.
0
Ulrich
9/5/2003 11:07:20 AM
"David L. Mills" <mills@udel.edu> writes:

> Ulrich,
> 
> At the risk and inherent habit of making trouble, how is it that the
> base Linux kernel does not have the PPSKit function? It seems a real
> lose to adapt to each and every wrinkle in the patriarch's brow. Hmm;
> maybe I should rephrase that.

Dave,

the patch is out and operational for a long time. I offered
integrating the patch several times, but chances are very low if not
ALL architectures are working. I simply don't have the power to get
all architectures working.

Remember, when I decided to implement the nanokernel, I also decided
to upgrade the system clock to nanoseconds. The latter is quite
hardware-dependent. The PPS API and the NTP clock model are
independent however.

In addition, Linux is using some bits theat the old NTP clock model
did not use, but the nanokernel uses now. I had to shuffle some
time_status bits a bit, and when using old binaries that do odd things
to the kernel clock, they may end up with doing something else as
desired. I think the FAQ mentions that in more detail.

Meanwhile there is a "high-resolution timers" project that also has a
new implementation of the system clock, and that will probably make it
into the next Linux release (2.6.x). If it works well, it will
simplyfy the PPSkit patch and improve chances to integrate it chunk by
chunk (NTP clock model upgrade, PPS API, various extensions).

Regards,
Ulrich

> 
> Dave
> 
> > 
> > Hello patchers and mergers,
> > 
> > Jeff Mock, Kasenna, Inc., and I proudly announce the availability of
> > PPSkit-2.1.2 since 7:00 UTC.  The work for this release was funded by
> > Kasenna, Inc. (thanks!).
> > 
> > Here are the boring news:
> > 
> >                               NEWS for 2.1.2
> > 
> > * Merged patch for Linux-2.4.21.  Some architectures may no longer be
> >   working because of modifications in timing code that I don't understand.
> >   Intel Pentium does work however.
> > 
> > * Revised ``INSTALL''.  I still think it's worth reading.  Revised
> >   ``README''.
> > 
> > * This release has been sponsored (see CREDITS).
> > --------
> > 
> > I would like to have any feedback regarding architectures other than
> > ia32/Pentium.  The download can be found on up-to-date Linux mirrors
> > in /pub/linux/daemons/ntp/PPS as PPSkit-2.1.2.tar.gz (or bz2). The
> > size is about 125kB.
> > 
> > Those who report problems might get fixes! Please find a bug!
> > 
> > Enjoy,
> > Ulrich
0
Ulrich
9/5/2003 11:15:05 AM
On 4 Sep 2003, Ulrich Windl wrote:

> OK, who has free APIC documentation?
[...]
> > > What are the reasons Linux use TSC for PPS timestamping, while
> > > FreeBSD-5.1-RELEASE use ACPI (by default)? -- I don't say ACPI is
> > > better, just asking.

 Some APIC documentation is available in the IA-32 manual at the Intel web
site.  Additionally I can provide some data on the i82489DX, the original,
"discrete" APIC, which was much better documented than the newer,
integrated implementations. 

 But please decide whether you are talking about the (local) APIC (the
Advanced Programmable Interrupt Controller) with it's builtin timer or the
ACPI (the Advanced Control and Power Interface) which also defines timers. 

-- 
+  Maciej W. Rozycki, Technical University of Gdansk, Poland   +
+--------------------------------------------------------------+
+        e-mail: macro@ds2.pg.gda.pl, PGP key available        +

0
Maciej
9/5/2003 12:33:23 PM
Terje,

The nanokernel and simulator work extremely well even if the various
CPUs salute different clock rates. I've never seen a case where this is
an issue. I do realize this technology is several years old as in the
Tru64 kernel and may need to be rediscovered on a regular basis.

Dave

Terje Mathisen wrote:
> 
> David Schwartz wrote:
> > "Terje Mathisen" <terje.mathisen@hda.hydro.com> wrote in message
> > news:bj5hpv$m0a$2@osl016lin.hda.hydro.com...
> >
> >
> >>TSC is mostly useless on SMP machines unfortunatly, unless you can pin
> >>your process, including all PPS interrupt handlers, to a single CPU.
> >
> >
> >     Or if you can sync the TSCs, like Linux does.
> 
> Only possible on machines where all cpus are the same speed, i.e. same
> multiplier (but that's not much of a problem, right?). However, I've
> been told (but without any satisfactory explanation) in comp.arch that
> it's effectively impossible to keep them really synchronized.
> 
> I guess I'll have to do some /usr/src spelunking!
> ...
> 
> Terje
> 
> --
> - <Terje.Mathisen@hda.hydro.com>
> "almost all programming can be viewed as an exercise in caching"
0
David
9/5/2003 2:58:40 PM
Reply: