[M3devel] the need for cooperative suspend

Jay K jay.krell at cornell.edu
Sat May 2 11:16:49 CEST 2015


We really need to move away from preemptive suspend.

1) It is a large fraction of the target-dependent code in m3core.
 

2) It doesn't really work in "wow64", the x86-on-amd64 Windows system.
The SuspendThread + GetThreadContext does not actually reliably give you
current and coherent context.
I'm not sure about x86-on-ia64.
 

 The context can be old.
 The context can be mid-update. Which might be ok, depending on what the updates are.
 LIke if Eip and Esp are being updated, we don't care about Eip anyway.
 

You can find out if either is the case, and let the thread run longer,
but being in a long running syscall I believe is reported as possibly
invalid even though it is valid.
 
 
NT/native is ok.
 

We should just use cooperative suspend and not worry about it.
 
 
Thanks,
 - Jay


 
 		 	   		  
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://m3lists.elegosoft.com/pipermail/m3devel/attachments/20150502/0c6d1fcd/attachment-0001.html>


More information about the M3devel mailing list