[comp.sys.amiga.tech] LIGHT WEIGHT PROCESSES, ALPHA VERSION

dillon@POSTGRES.BERKELEY.EDU (Matt Dillon) (12/18/88)

	I have been working on synchronous light weight processes.  This is
the very-alpha version of what I have so far.  I am looking for people who
have either Lattice or Aztec C and are interested in fooling around with
the package.  The zoo file contains:

Length    CF  Size Now  Date      Time
--------  --- --------  --------- --------
   10143  53%     4806  17 Dec 88 17:37:16  lwp.asm
    8931  51%     4359  17 Dec 88 17:22:14  lwp.autodoc
    9201  47%     4906  17 Dec 88 17:27:48  lwp.doc
    9024  29%     6388  17 Dec 88 17:42:24  lwptest
    4208  45%     2334  17 Dec 88 17:42:00  lwptest.c
--------  --- --------  --------- --------
   41507  45%    22793     5 files

	I've included an executable of the test program so you have 
something to compare with.  Bug reports and suggestions solicited!!!!  I
have a few specific questions that some of you or the net in general (or
C-A specifically) :

	(1) The above package works with Aztec C.  Question:  Does it work
	    with Lattice C?  Somebody w/ a Lattice C compiler! (note: do not
	    compile with any optimizations, read the docs).

	(2) EXEC appears to push the registers on the user stack when doing
	    a context switch.  This means that the stack for each light
	    weight process must be large enough to hold that.  Currently,
	    the minimum stack allocated (specifying 0 in InitLWP()) is 68
	    bytes.  Is this enough?  (Question ---->>>>> C-A).

	(3) General execution.  Read lwp.doc, then lwp.autodoc before doing
	    anything.  The lwp.asm file is for Aztec AS, but should be
	    trivial to port to other assemblers (and I could probably modify
	    it to something that everybody would accept).

	Again, this is destined for those programmers who have moderate
experience programming in C and assembly.  The goal is to provide an LWP
interface chock full of features and abilities and easy to deal with.  This
is the *solution* to everybody's programming problems... those programs which
you want to do a couple of things at once but creating multiple EXEC Task's
is too difficult or inefficient.

						-Matt


begin 644 lwp.zoo
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
F````````````````````````````````````````````````_(,`
`
end

kodiak@amiga.UUCP (Robert R. Burns) (12/22/88)

In article <8812180204.AA22260@postgres.Berkeley.EDU> dillon@POSTGRES.BERKELEY.EDU (Matt Dillon) writes:
)
)	(2) EXEC appears to push the registers on the user stack when doing
)	    a context switch.  This means that the stack for each light
)	    weight process must be large enough to hold that.  Currently,
)	    the minimum stack allocated (specifying 0 in InitLWP()) is 68
)	    bytes.  Is this enough?  (Question ---->>>>> C-A).

Is this enough for what environment?  Are any ieee math libraries opened --
then you need room for the 68881 state.  Who else hangs off launch & switch?
Will 1.4 exec itself save floating point or MMU state information on the stack?

I understand why you want to see answers, not questions, but the last time
we told anyone stuff like "we guarantee the system will only use XXX bytes
for ..." was release 1.0.  That was for 256K systems.  You know the stories
of applications that shaved it too close and lost.

Be Prepared.  Better safe than sorry.  "Take this stack and pad it."  Etc.
-- 
Bob Burns, amiga!kodiak                   _
| /_  _|. _ |      Commodore __          |_) _ |_  _ )'
|<(_)(_)|(_\|<      /\ |  ||| _` /\      |_)(_\| )(_\ |
| \ Software    ___/..\|\/|||__|/..\___           Faith