<table cellspacing="0" cellpadding="0" border="0" ><tr><td valign="top" style="font: inherit;">Hi all:<br>I'm curious about how to implement the threads in user space by using the TSL instruction on uniprocessor where available and multiprocessor systems, that way would be like avoiding the system switching and getting the benefits of user threading in the shell for uniprocessor systems speeding it. See:<br>http://www.chiark.greenend.org.uk/~theom/riscos/docs/ultimate/a252swp.txt<br>This was the idea behind the ARM3 instruction set and later ones, coming for a problem with the OS performance (written on Modula-2+ FYI), though I'm not sure how this Pthread system works right now on them. Perhaps in FreeDOS this would be not useless like it doesn't have any pthreads if I'm correct, then the best approach would be like to get the runtime to work with just the hardware help and no pthreads, Am I right?<br>Thanks in
advance<br>--- El <b>lun, 27/12/10, Jay K <i><jay.krell@cornell.edu></i></b> escribió:<br><blockquote style="border-left: 2px solid rgb(16, 16, 255); margin-left: 5px; padding-left: 5px;"><br>De: Jay K <jay.krell@cornell.edu><br>Asunto: Re: [M3commit] CVS Update: cm3<br>Para: "Tony" <hosking@cs.purdue.edu>, "Jay Krell" <jkrell@elego.de><br>CC: m3commit@elegosoft.com<br>Fecha: lunes, 27 de diciembre, 2010 16:34<br><br><div id="yiv1877831521">
<style><!--
#yiv1877831521 .yiv1877831521hmmessage P
{
margin:0px;padding:0px;}
#yiv1877831521 .yiv1877831521hmmessage
{
font-size:10pt;font-family:Tahoma;}
--></style>
The code is frequently wrong for user threads.<br>So much so that cvsup had cloned some code in order to put in fixes along these lines.<br>I did undo this though.<br><br> - Jay<br><br>> From: hosking@cs.purdue.edu<br>> Date: Mon, 27 Dec 2010 12:30:38 -0500<br>> To: jkrell@elego.de<br>> CC: m3commit@elegosoft.com<br>> Subject: Re: [M3commit] CVS Update: cm3<br>> <br>> You are debasing the primary use-case, which is system threading, to support what should be a deprecated target (user threads).<br>> <br>> Antony Hosking | Associate Professor | Computer Science | Purdue University<br>> 305 N. University Street | West Lafayette | IN 47907 | USA<br>> Office +1 765 494 6001 | Mobile +1 765 427 5484<br>> <br>> <br>> <br>> <br>> On Dec 27, 2010, at 1:45 PM, Jay Krell wrote:<br>> <br>> > CVSROOT: /usr/cvs<br>> > Changes by: jkrell@birch. 10/12/27 13:45:34<br>> > <br>> > Modified
files:<br>> > cm3/m3-libs/m3core/src/unix/Common/: UnixC.c <br>> > <br>> > Log message:<br>> > Some wrappers might be used specifically while waiting for<br>> > other threads to progress. e.g. don't disable switching in sleep().<br>> > More wrappers to consider.<br>> > Only matters for user threads..<br>> <br>
</div></blockquote></td></tr></table><br>