And we won't bore people with the fact we can do inter-process message
queue operations (msgrcv, msgsnd) without a lock given certain restrictions
on the message queue via the S/390 PLO instruction.

regards,

John M. Thompson
Consulting Client IT-Architect
Financial Services Sector
IBM Corporation
Internet: [EMAIL PROTECTED]
Lotus Notes: John Thompson/Poughkeepsie/IBM
VM: thompson at kgnvmc



Jeff Trawick <[EMAIL PROTECTED]>@bellsouth.net on 03/01/2001 08:58:03
PM

Please respond to [EMAIL PROTECTED]

Sent by:  [EMAIL PROTECTED]


To:   [EMAIL PROTECTED]
cc:
Subject:  Re: some reasons why Apache 2.0 threaded is slower than prefork



Greg Stein <[EMAIL PROTECTED]> writes:

> I once tried to created a lock-less linked-list for managing some thread
> state stuff in Python. I believe that it finally came to a point where I
had
> a simple proof that you just can't implement a read/write linked list in
a
> multi-threaded environemnt without a lock. Beats me if I can remember the
> key point, though.

As long as reasonable restrictions are placed on allowable list
operations (restrictions which are not a problem when the list is used
to maintain a free pool) you can implement a lock-free linked list.
Been there, done that.  On S/390 we commonly use a double-word
compare-and-swap operation.  Other platforms have this as well.
Different instructions are available on still more platforms.

--
Jeff Trawick | [EMAIL PROTECTED] | PGP public key at web site:
       http://www.geocities.com/SiliconValley/Park/9289/
             Born in Roswell... married an alien...



Reply via email to