<!-- MHonArc v2.4.4 -->
<!--X-Subject: Re: [MUD-Dev] Two threads forced to one CPU? (was: Collecting ideas for a MUD server...) -->
<!--X-From-R13: ptNnzv-pt.UenlEntr.Sqzbagba.OP.QO -->
<!--X-Date: Tue, 28 Dec 1999 09:44:18 -0800 -->
<!--X-Message-Id: 199912281639.JAA08596@ami-cg.GraySage.Edmonton.AB.CA -->
<!--X-Content-Type: text/plain -->
<!--X-Head-End-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<title>MUD-Dev message, Re: [MUD-Dev] Two threads forced to one CPU? (was: Collecting </title>
<!-- meta name="robots" content="noindex,nofollow" -->
<link rev="made" href="mailto:cg@ami-cg.GraySage.Edmonton.AB.CA">
</head>
<body background="/backgrounds/paperback.gif" bgcolor="#ffffff"
text="#000000" link="#0000FF" alink="#FF0000" vlink="#006000">
<font size="+4" color="#804040">
<strong><em>MUD-Dev<br>mailing list archive</em></strong>
</font>
<br>
[ <a href="../">Other Periods</a>
| <a href="../../">Other mailing lists</a>
| <a href="/search.php3">Search</a>
]
<br clear=all><hr>
<!--X-Body-Begin-->
<!--X-User-Header-->
<!--X-User-Header-End-->
<!--X-TopPNI-->
Date:
[ <a href="msg00787.html">Previous</a>
| <a href="msg00790.html">Next</a>
]
Thread:
[ <a href="msg00787.html">Previous</a>
| <a href="msg00789.html">Next</a>
]
Index:
[ <A HREF="author.html#00788">Author</A>
| <A HREF="#00788">Date</A>
| <A HREF="thread.html#00788">Thread</A>
]
<!--X-TopPNI-End-->
<!--X-MsgBody-->
<!--X-Subject-Header-Begin-->
<H1>Re: [MUD-Dev] Two threads forced to one CPU? (was: Collecting ideas for a MUD server...)</H1>
<HR>
<!--X-Subject-Header-End-->
<!--X-Head-of-Message-->
<UL>
<LI><em>To</em>: <A HREF="mailto:mud-dev#kanga,nu">mud-dev#kanga,nu</A></LI>
<LI><em>Subject</em>: Re: [MUD-Dev] Two threads forced to one CPU? (was: Collecting ideas for a MUD server...)</LI>
<LI><em>From</em>: <A HREF="mailto:cg#ami-cg,GraySage.Edmonton.AB.CA">cg#ami-cg,GraySage.Edmonton.AB.CA</A></LI>
<LI><em>Date</em>: Tue, 28 Dec 1999 09:39:06 -0700</LI>
<LI><em>Reply-To</em>: <A HREF="mailto:mud-dev#kanga,nu">mud-dev#kanga,nu</A></LI>
<LI><em>Sender</em>: <A HREF="mailto:mud-dev-admin#kanga,nu">mud-dev-admin#kanga,nu</A></LI>
</UL>
<!--X-Head-of-Message-End-->
<!--X-Head-Body-Sep-Begin-->
<HR>
<!--X-Head-Body-Sep-End-->
<!--X-Body-of-Message-->
<PRE>
[Hans-Henrik Staerfeldt:]
> Yes, or keep assuming the worst possible. Assume that the thread can be
> interrupted, after you have written down 16 of 32 bit of any long word
> in the memory, making the 32-bit value non-valid, which is why you need
> thread-safe system calls :-) I actually had this error, though on older
> hardware.
As far as I know, that shouldn't be a problem on a 32 bit CPU. The
instructions, if done properly aligned, should be single, atomic instructions.
The rule is likely something like: do not assume atomicity of operations
for any operations which operate on values larger than the word-size of
the machine, or on *any* struct/class values. So, on a 16 bit MC68000,
watch out for 32 bit values - they may not be atomic on memory accesses.
On a 32 bit IA32 (e.g. Pentium) machine, watch out for operations on 64
bit values - they may not be atomic with respect to memory. On a 64 bit
machine, e.g. an Alpha, watch out for 128 bit operations, etc.
There are of course exceptions. I believe newer Pentia have some explicit
64 bit special instructions, and since their off-chip bus width is
sometimes > 32 bits, these can work atomically. Unless you know the
specifics, however, and want your software to not be readily portable to
other CPU variants (even other I32's!), don't assume anything.
--
Don't design inefficiency in - it'll happen in the implementation.
Chris Gray cg#ami-cg,GraySage.Edmonton.AB.CA
<A HREF="http://www.GraySage.Edmonton.AB.CA/cg/">http://www.GraySage.Edmonton.AB.CA/cg/</A>
_______________________________________________
MUD-Dev maillist - MUD-Dev#kanga,nu
<A HREF="http://www.kanga.nu/lists/listinfo/mud-dev">http://www.kanga.nu/lists/listinfo/mud-dev</A>
</PRE>
<!--X-Body-of-Message-End-->
<!--X-MsgBody-End-->
<!--X-Follow-Ups-->
<HR>
<ul compact><li><strong>Follow-Ups</strong>:
<ul>
<li><strong><A NAME="00789" HREF="msg00789.html">Re: [MUD-Dev] Two threads forced to one CPU? (was: Collecting ideas for a MUD server...)</A></strong>
<ul compact><li><em>From:</em> Greg Miller <gmiller@classic-games.com></li></ul>
</UL></LI></UL>
<!--X-Follow-Ups-End-->
<!--X-References-->
<!--X-References-End-->
<!--X-BotPNI-->
<UL>
<LI>Prev by Date:
<STRONG><A HREF="msg00787.html">Re: [MUD-Dev] Two threads forced to one CPU? (was: Collecting ideas for a MUD server...)</A></STRONG>
</LI>
<LI>Next by Date:
<STRONG><A HREF="msg00790.html">[MUD-Dev] Embedded languages, object persistance... ack.</A></STRONG>
</LI>
<LI>Prev by thread:
<STRONG><A HREF="msg00787.html">Re: [MUD-Dev] Two threads forced to one CPU? (was: Collecting ideas for a MUD server...)</A></STRONG>
</LI>
<LI>Next by thread:
<STRONG><A HREF="msg00789.html">Re: [MUD-Dev] Two threads forced to one CPU? (was: Collecting ideas for a MUD server...)</A></STRONG>
</LI>
<LI>Index(es):
<UL>
<LI><A HREF="index.html#00788"><STRONG>Date</STRONG></A></LI>
<LI><A HREF="thread.html#00788"><STRONG>Thread</STRONG></A></LI>
</UL>
</LI>
</UL>
<!--X-BotPNI-End-->
<!--X-User-Footer-->
<!--X-User-Footer-End-->
<ul><li>Thread context:
<BLOCKQUOTE><UL>
<LI><STRONG>Re: [MUD-Dev] Embedded languages, object persistance... ack.</STRONG>, <EM>(continued)</EM>
<ul compact>
<LI><strong><A NAME="00792" HREF="msg00792.html">Re: [MUD-Dev] Embedded languages, object persistance... ack.</A></strong>,
Laurent Bossavit <a href="mailto:bossavit@cybercable.fr">bossavit@cybercable.fr</a>, Wed 29 Dec 1999, 22:40 GMT
</LI>
<LI><strong><A NAME="00793" HREF="msg00793.html">Re: [MUD-Dev] Embedded languages, object persistance... ack.</A></strong>,
cg <a href="mailto:cg@ami-cg.GraySage.Edmonton.AB.CA">cg@ami-cg.GraySage.Edmonton.AB.CA</a>, Thu 30 Dec 1999, 05:09 GMT
</LI>
</ul>
</LI>
<LI><strong><A NAME="00782" HREF="msg00782.html">Re: [MUD-Dev] Two threads forced to one CPU? (was: Collecting ideas for a MUD server...)</A></strong>,
cg <a href="mailto:cg@ami-cg.GraySage.Edmonton.AB.CA">cg@ami-cg.GraySage.Edmonton.AB.CA</a>, Fri 24 Dec 1999, 19:03 GMT
<UL>
<LI><strong><A NAME="00787" HREF="msg00787.html">Re: [MUD-Dev] Two threads forced to one CPU? (was: Collecting ideas for a MUD server...)</A></strong>,
Hans-Henrik Staerfeldt <a href="mailto:hhs@cbs.dtu.dk">hhs@cbs.dtu.dk</a>, Tue 28 Dec 1999, 16:05 GMT
</LI>
</UL>
<UL>
<li><Possible follow-up(s)><br>
<LI><strong><A NAME="00788" HREF="msg00788.html">Re: [MUD-Dev] Two threads forced to one CPU? (was: Collecting ideas for a MUD server...)</A></strong>,
cg <a href="mailto:cg@ami-cg.GraySage.Edmonton.AB.CA">cg@ami-cg.GraySage.Edmonton.AB.CA</a>, Tue 28 Dec 1999, 17:44 GMT
<UL>
<LI><strong><A NAME="00789" HREF="msg00789.html">Re: [MUD-Dev] Two threads forced to one CPU? (was: Collecting ideas for a MUD server...)</A></strong>,
Greg Miller <a href="mailto:gmiller@classic-games.com">gmiller@classic-games.com</a>, Wed 29 Dec 1999, 17:00 GMT
</LI>
</UL>
</LI>
</UL>
</LI>
<LI><strong><A NAME="00770" HREF="msg00770.html">[MUD-Dev] Re: MUD-Dev digest, Vol 1 #237 - 9 msgs</A></strong>,
Dr. Cat <a href="mailto:cat@realtime.net">cat@realtime.net</a>, Thu 23 Dec 1999, 17:13 GMT
<UL>
<LI><strong><A NAME="00783" HREF="msg00783.html">Re: [MUD-Dev] Re: MUD-Dev digest, Vol 1 #237 - 9 msgs</A></strong>,
J C Lawrence <a href="mailto:claw@kanga.nu">claw@kanga.nu</a>, Fri 24 Dec 1999, 20:13 GMT
</LI>
</UL>
</LI>
<LI><strong><A NAME="00747" HREF="msg00747.html">[MUD-Dev] Job Openings - Mud Engineering</A></strong>,
Christopher Allen <a href="mailto:ChristopherA@Skotos.net">ChristopherA@Skotos.net</a>, Thu 23 Dec 1999, 01:53 GMT
</UL></BLOCKQUOTE>
</ul>
<hr>
<center>
[ <a href="../">Other Periods</a>
| <a href="../../">Other mailing lists</a>
| <a href="/search.php3">Search</a>
]
</center>
<hr>
</body>
</html>