To LUGNET HomepageTo LUGNET News HomepageTo LUGNET Guide Homepage
 Help on Searching
 
Post new message to lugnet.robotics.rcx.legosOpen lugnet.robotics.rcx.legos in your NNTP NewsreaderTo LUGNET News Traffic PageSign In (Members)
 Robotics / RCX / legOS / 1011
1010  |  1012
Subject: 
Re: task switching strategy?
Newsgroups: 
lugnet.robotics.rcx.legos
Date: 
Sat, 22 Apr 2000 02:44:42 GMT
Viewed: 
1683 times
  
On Fri, 21 Apr 2000, Steve Morris wrote:
<snip lots of discussion, some of which I understand now and the rest of
which will probably make more sense after I take OS next semester.>

So what am I missing? Certainly the current scheme is elegant;
not a trivial issue. That makes it easy to understand and
maintain. Quite possibly the current CPU overhead is trivial and
my suggestions would have no benefit.

I think the big thing is that virtually no one write CPU intensive code
for legOS. As a result, while the overhead may not be trivial (i.e., it
may eat tons of time) it isn't particularly relevant, since no one is
using that time.

One other thing you may wish to consider- if the code is overly
complicated, it may eat into memory by increasing the kernel size. This
probably shouldn't be a problem, but then again you clearly know more
about your intended implementation than I do.

It is only in my gut
that the idea of extra work every millisecond seems bad. Perhaps
the actual numbers are acceptable. For example a 100 usec overhead
of 10% would be fine. Perhaps someone has toggled a motor bit
at the beginning and end of the timer interrupt and measured the
time on a scope?

Not that they've reported here. Kekoa Proudfoot would probably be the
best one to ask, though.

By the way, in spite of these concerns I think the code is quite
excellent. It is clear and easy to read. I picked up the
major points in just a small number of hours of code reading.
This code is a delight to read. Also lest I seem merely a
complainer I hereby volunteer to experiment with any of these
potential changes if anyone thinks they might be beneficial.

If you have time, I have a couple of programs around that (once ported to
0.2.3- mid-May?) should be an excellent test of whether or not your
changes help in CPU-intensive apps.

More likely is that the changes I propose have negative side
effects that I don't understand which will be clearly
corrected by some poster.

Only if Markus actually shows up ;)

Good luck...
Luis

-----------------------------------------------------------------------

  "As an engineer, it's important to look yourself in the eye in the
    mirror every morning, and remind yourself that 'marketing is
    everything,' and engineering doesn't matter a tinker's damn."
                          -Keith Bostic

-----------------------------------------------------------------------



Message is in Reply To:
  task switching strategy?
 
I've been wandering through the kernal comparing it to similar kernals I have known or written, trying to understand the design choices. It appears that task are only switched at the 1ms timer interrupt and at yield() function call. yield() is only (...) (25 years ago, 21-Apr-00, to lugnet.robotics.rcx.legos)

2 Messages in This Thread:

Entire Thread on One Page:
Nested:  All | Brief | Compact | Dots
Linear:  All | Brief | Compact
    

Custom Search

©2005 LUGNET. All rights reserved. - hosted by steinbruch.info GbR