From: Philippe Gerum <rpm@xenomai.org>
To: Wolfgang Grandegger <wg@domain.hid>
Cc: xenomai@xenomai.org
Subject: Re: [Xenomai-core] Problem with periodic timer on PPC40x solved
Date: Mon, 25 Sep 2006 17:57:34 +0200 [thread overview]
Message-ID: <1159199854.4970.19.camel@domain.hid> (raw)
In-Reply-To: <4516F39A.7040603@domain.hid>
On Sun, 2006-09-24 at 23:07 +0200, Wolfgang Grandegger wrote:
> Niklaus Giger wrote:
> > static void rthal_set_local_cpu_timer(void)
> > {
> > +#ifndef CONFIG_40x
> > long ticks;
> > +#endif
> > rthal_declare_cpuid;
> >
> > rthal_load_cpuid();
> > @@ -110,7 +112,7 @@
> > if (ns == 0)
> > ticks = tb_ticks_per_jiffy;
> > else {
> > - ticks = ns * tb_ticks_per_jiffy / (1000000000 / HZ);
> > + ticks = ns * (tb_ticks_per_jiffy / 10000) / (100000 / HZ);
> >
> > if (ticks > tb_ticks_per_jiffy) {
> > DBG("rthal_set_cpu_timers_unsafe: -EINVAL (%lu)\n", ticks);
>
> My suggested fix was just to locate the source of the problem. As
> Philippe suggested, we should use mulhwu (or mulhwu_scale_factor). Have
> a look to arch/ppc/kernel/time.c for further information.
Ok, we can go for the lazy fix here, since this code is poised to
disappear anyway. I've merged a variant of the above we already use for
the ARM port, which scales down the period to microseconds instead of
losing precision on the count of timebase ticks per jiffy.
- ticks = ns * tb_ticks_per_jiffy / (1000000000 / HZ);
+ ticks = (ns / 1000) * tb_ticks_per_jiffy / (1000000 / HZ);
--
Philippe.
next prev parent reply other threads:[~2006-09-25 15:57 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-09-23 18:13 [Xenomai-core] Problem with periodic timer on PPC40x identified Niklaus Giger
2006-09-23 20:55 ` Wolfgang Grandegger
2006-09-23 21:33 ` Philippe Gerum
2006-09-24 20:47 ` [Xenomai-core] Problem with periodic timer on PPC40x solved Niklaus Giger
2006-09-24 21:07 ` Wolfgang Grandegger
2006-09-25 15:57 ` Philippe Gerum [this message]
2006-09-25 20:29 ` Niklaus Giger
2006-09-25 20:59 ` Philippe Gerum
2006-09-25 21:15 ` Niklaus Giger
2006-09-26 6:59 ` Philippe Gerum
2006-09-26 14:21 ` Philippe Gerum
2006-09-26 18:39 ` Niklaus Giger
2006-09-26 19:34 ` Niklaus Giger
2006-09-26 19:48 ` Philippe Gerum
2006-09-26 6:47 ` Wolfgang Grandegger
-- strict thread matches above, loose matches on Subject: below --
2006-09-26 14:56 gilles.chanteperdrix
2006-09-26 16:10 ` Philippe Gerum
2006-09-26 16:28 ` Wolfgang Grandegger
2006-09-26 16:38 ` Philippe Gerum
2006-09-26 16:57 ` Wolfgang Grandegger
2006-09-26 18:56 ` Niklaus Giger
2006-09-26 20:23 ` Wolfgang Grandegger
2006-09-26 21:26 ` Niklaus Giger
2006-09-27 10:13 ` Wolfgang Grandegger
2006-09-27 18:19 ` Wolfgang Grandegger
2006-09-28 6:02 ` Niklaus Giger
2006-09-28 7:59 ` Wolfgang Grandegger
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1159199854.4970.19.camel@domain.hid \
--to=rpm@xenomai.org \
--cc=wg@domain.hid \
--cc=xenomai@xenomai.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.