On Friday 18 April 2008 04:03:57 charliem_1216 wrote:
> Hi --
>
> --- In "gebbet00" <> wrote:
> > --- In "Michael" <michael@> wrote:
> > > > ...that you've used in a TS-7400? I've used the same in i386
>
> and
>
> > > > x86_64 systems and of course it works OK. Problem is on
>
> TS-7400.
>
> > > > tv_usec has the same value in start and tm.
> > > >
> > > > I wanted to ask before diving into it.
> > >
> > > The Cirrus kernel that our kernel is based on has a "bug" where
>
> the
>
> > > microsecond time only has a resolution equal to the clock tick
>
Assuming we are talking about the 2.4 kernel here, we posted a patch about 3
years ago which resolves this issue which is in the file repository for this
group. Sorry I can't remember the file name. See my email of 25/07/2005 to
this group. Added a bunch of other stuff as well
> (e.g. it
>
> Well, it's a bug, but it's more of a kernel timer system design
> fallout and not easy to fix. Not a cirrus or TS issue, but a kernel
> issue. The good news though, is that it has been fixed for most
> chips in recent 2.6 kernels. (Orion too, in just-released 2.6.25!)
>
> > > increments 10,000us at a time). However if you are seeing
>
> longer
>
> > intervals
> >
> > > much longer then 10ms without no us advancement then I agree
>
> with the
>
> > > previous poster who suggested a bug in user code.
> > >
> > >
> > > ______ Best Regards,
> > >
> > > |__ __/ Michael Schmidt
> > > |
> > > || Software Engineer
> > > ||echnologic Systems (EmbeddedARM.com)
> > > || (480) 16610 East Laser Drive #10
> > > |
> > > |/ 837-5200 Fountain Hills, AZ 85268
> > >
> > > http://oz.embeddedarm.com/~michael
> >
> > Thanks for the response.
> >
> > No I haven't checked what the minimum interval is. In fact I have
>
> a
>
> > signal-based scan time of 50 ms and that worked OK, which added to
>
> my
>
> > puzzle.
> >
> > Now, what's the solution? What are the options?
>
> One solution would be going to a recent 2.6 kernel, and enable "High
> Resolution Timers" in the kernel config process. This will let the
> library routines work with microsecond resolution, as advertised.
> Google for it, or search the TS group archives for more info.
>
> Another (highly frowned upon, IMHO) solution would be to recompile
> the 2.4 kernel with HZ=1000 rather than HZ=100. But this only gives
> a slight resolution increase (10x compared to 1000x or so with HRT),
> at the expense of much greater CPU load.
>
> Regards, ....... Charlie
Setting HZ to 1000 without work on the basic timer stuff doesn't really work,
believe me I just tried for a totally unrelated reason. The basic clock
operates at 508500Hz or thereabouts:( There are some magic numbers in
include/asm-arm/arch-ep93xx/time.h which need to be related to HZ and then at
least you could get different HZ values to potentially run. BTW just
changing the HZ to 1000 doesn't build, you need to modify hz_to_std in
include/asm/param.h It will build and boot at this point but all sorts of
timer related bits are hosed!!
There was a lot of chat about the 5085 value above around the end of 2004,
early 2005 if you want to search the list.
Bob
--
V +44 (0) 1296 747667
F +44 (0) 1296 747557
C +44 (0) 7860 406093
Diamond Consulting Services Ltd
Dinton
Aylesbury
Bucks, HP17 8UG
England
------------------------------------
Yahoo! Groups Links
<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/ts-7000/
<*> Your email settings:
Individual Email | Traditional
<*> To change settings online go to:
http://groups.yahoo.com/group/ts-7000/join
(Yahoo! ID required)
<*> To change settings via email:
<*> To unsubscribe from this group, send an email to:
<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
|