Odp: [RC5] If you were writing our next client...

Thomas Tavoly rc5 at amiga.cistron.nl
Thu May 6 23:03:19 EDT 1999

Hi Ilmari, on May 6 you wrote:

 > On Tue, 4 May 1999, Amigo wrote:
 > > 
 > > [Amiga client runs] Exactly at -20, -10 or 0 (three levels of 'nice' process).

Also, if you use 0, it will inherit whatever priority the shell you ran it
from has, so you can run it at any priority you wish. Apart from that, you
can use one of the many tools available to adjust priority later, or even
Executive to dynamically schedule it as needed.

 > That's silly! I mean it's a bloody slopsucker, obviously it should have
 > the lowest priority, right?

No. Various system parts (tasks/libraries/ports/residents/semaphores/etc)
and 'special' processes need to be lower for various reasons, I'm sure the
RKRMs specify what ranges you should and should not use depending on what
you need to do. The RC5 client is a user task and as such should not be run
at extreme priorities. Since almost everything you use as 'applications'
runs at or near 0, 0/-10/-20 are great choices for a CPU intensive
background task that shouldn't interfere with general use.

The only exception would be if you use Executive, which uses a larger range
and a different approach to be able to schedule things more dynamically,
but then again you need to RTFM well before you let something like that
loose on your system..

 > And with the Amiga task switcher following the priorities so strictly,
 > doesn't that mean *nothing* below priority -20 *ever* runs while the
 > client is active?

No, it doesn't. There is this wonderful thing called forbid() (<boo> <hiss>
from the audience ;) and I'm sure other mechanisms which I'm not privy to.
Also, a program may consist of several parts with different priorities that
invoke the slumbering processes at the bottom, change their priorities etc.
as needed. A task running below -20 may never notice the difference, purely
depending on its purpose and implementation.

 > Wouldn't a better list be, say, -128, -64, 0?

Since you can use these if you really want, the discussion is moot. For the
average user, the defaults are fine. Amiga multitasking rules :)

 > One would think that having a continuously running task at such a high
 > priority could even cause some nasty priority inversions.

Only if you manually change priorities, or use Executive without
configuring it properly. I expect some badly designed programs might
suffer, but things that would be appropriate here, like all the layer hacks
typically run much higher (above 0 anyway). I haven't seen anything
suffering from the client yet, which runs at -10 here.

 > Of course, I
 > would've just used XOper to set the priority myself, but I find it hard
 > to believe that _all_ the people still using the Amiga know about such
 > tricks..

You don't need tricks, except for the special case of the PPC client
running concurrently to the 68k client, and that has been discussed
extensively on the Amiga effort mailinglist, and I believe there are also
some pointers in the miscellaneous section of the Amiga effort homepage
(http://distributed.amiga.org). As an aside, IMHO just about anyone
familiar with the Amiga knows about XOper, XOpa, TaskX, SysInspector, etc.
etc. and Myzar, the GUI frontend allows setting different PPC and 68k
priorities as well.

 > Ah well, none of my business I suppose - there's little point in running
 > the client on a 14MHz A1200 with 2Mb of RAM that I hardly ever even use
 > anymore..

Every little bit counts. There are 36 020's currently in use by the Amiga
team, and 433 030's next to the more powerful ones. That still amounts to
some beefy Pentiums, and any one of them might be the lucky one to find the
right key of course..

      _ . Thomas Tavoly
 . _ // . aTmosh at amiga.cistron.nl
 . \X/    http://www.cistron.nl/~ttavoly
 ...  5.1

To unsubscribe, send 'unsubscribe rc5' to majordomo at lists.distributed.net
rc5-digest subscribers replace rc5 with rc5-digest

More information about the rc5 mailing list