The HRT is a good route to go down I believe. You can solve the timing issues
you are seeing now by playing with how they are scheduled. You can do this by
modifying the source of the user-space tool (sdctl, nandctl, etc) or by using
`chrt`. It is not necessarily a design issue of the kernel, it is just a
tradeoff that one has to make for a higher scheduler resolution.
You are correct in that we have been pushing to more user-space based utilities
to help us become kernel independent, however there can still be some snags
when trying to run different kernels on CPUs that are not yet in the mainline
tree (Cavium as it would be in this case).
-Kris Bahnsen
Technologic Systems
--- In "Charles" <> wrote:
>
>
> Hi --
>
> --- In "Jean-Francois" <jf@> wrote:
> >
> > Thanks for the clarifying this. Would there be an other and better way
> > to deal reduce the 10ms minimum delay? I'm afraid that doing what I did
> > could have a significant impact on performance.
> > The BogoMIPS didn't bother. I just saw this as a sign that what I did
> > was not entirely correct and could have other adverse effect.
>
> You are right, CONFIG_HZ has big effects.
>
> The 10mS delay is a FAQ here. Search this list for HRT (high resolution
> timers); it is a much better way of doing what you want, and gives nS
> resolution. I believe it is supported for cavium in the latest (-rc ?)
> mainline kernels, but it may be difficult to back-port to the TS-kernel.
>
> AFAIK, TS goal in putting the SD stuff in userspace and using nbd was to help
> insulate it from kernel changes, so maybe it would be easier to move to a
> vanilla kernel and forward port the TS SD stuff. At least you could see if
> TS met their goal ....
>
> As an aside, more than doubling your boot time by changing HZ to 1000 tells
> me there is a fundamental design issue somewhere.
>
>
> regards .......... Charlie
>
> >
> > --- In "Kris" <kristechnologic@> wrote:
> > >
> > > These are all artifacts from changing your kernel tick rate. The
> > booting delay seen by SD card is because you are causing context
> > switching to happen more often (every 1ms as opposed to 10ms) and since
> > sdctl and nbd are userspace applications they can get switched out more
> > if the dynamic scheduler of the kernel feels they are getting too much
> > CPU time.
> > >
> > > The BoGoMIPS is calibrated based on the kernel tick I believe. They
> > are a horribly measure of CPU speed anyway, and messing with the tick
> > times 10 threw off the calculation times 10.
> > >
> > > -Kris Bahnsen
> > > Technologic Systems
> > >
> > >
> > > --- In JF Morneau jf@ wrote:
> > > >
> > > > With the default kernel, I can't get delays of less than 10ms. I
> > > > increased the CONFIG_HZ from 100 to 1000 and I now can get sub 10ms
> > delays.
> > > >
> > > > Timing in our program seems to work. I could verify from an external
> > > > time source that a 2 ms delay is really 2 ms. However, our custom
> > setup
> > > > was booting in around 13 sec from sd. It now boots in 30 sec. I
> > also
> > > > noticed this change from dmesg:
> > > >
> > > > [ 0.020000] Calibrating delay loop (skipped)... 1916.92 BogoMIPS
> > preset
> > > >
> > > > Before, it was:
> > > >
> > > > [ 0.010000] Calibrating delay loop (skipped)... 191.69 BogoMIPS
> > preset
> > > >
> > > > It seems that there is more to it than just changing the CONFIG_HZ
> > > > kernel config.
> > > >
> > >
> >
>
------------------------------------
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/
|