Jeremy White wrote:
When did that regression first start? The mmtime and ntdll/sync.c code has been this way since late last fall.
I'll just mention that, assuming you are referring to this patch: http://cvs.winehq.org/patch.py?id=14198 it also causes a regression in Myst. Though I am not convinced the fault is in the patch, rather than the patch exposing some other problem.
The Yield is, imho, correct, except that it exposes the fact that we don't correctly implement Windows priority schemes. That can create nasty conditions.
But I wonder if something else changed that is causing this.
I'm particularly surprised to find it on a 2.4 kernel; the 2.4 kernel quanta was ~ 40 ms, which made Linux a bit less sensitive to cpu hogging threads.
Unfortunately, Myst appears to only work under Wine with rather old kernels. It works fine for me on RH7.3, kernel 2.4.18, as long as I back out that mmtime patch. But Myst fails to work on RH9, kernel 2.4.20, for reasons unrelated to the mmtime patch. However, it fails after the point where the above patch causes the regression (in the intro Quicktime sequence). So even on later kernels, Myst might be a good testbench, though I have not tried a later kernel. Surely everyone has an old copy of Myst around somewhere ;)
It was discussed a bit more here: http://www.winehq.org/hypermail/wine-users/2005/01/0260.html