-------- Forwarded Message -------- From: Con Kolivas kernel@kolivas.org To: Mike Hearn mike@navi.cx Cc: ck@vds.kolivas.org Subject: Re: [ck] Re: Threading issues? [ck-request@vds.kolivas.org: ck Digest, Vol 3, Issue 16] Date: Sat, 21 Aug 2004 10:39:21 +1000 Mailer: Mozilla Thunderbird 0.7.1 (X11/20040626) Mike Hearn wrote:
On Tue, 17 Aug 2004 10:06:46 +0200, Andreas Mohr wrote:
Are we doing some big no-nos in the threading area here? (or maybe it's just done the way it is because we cannot do it a different, better way?)
For the whole discussion, please see http://bhhdoa.org.au/pipermail/ck/2004-August/000428.html
Well, apparently we don't use sched_yield, so the problem must lie somewhere else. Maybe Con can help us out here? Alexandre says he doesn't know what the issue is either and somebody needs to investigate. I guess we do need to concern ourselves over the details :)
Interesting. Probably the most valuable information is that it seems to work fine if we artificially limit the threads to exactly the same timeslice _or_ we put them at such a low priority that they are forced to be guaranteed to round robin one task at a time. This is the way 2.4 used to work which is why with the new 2.6 schedulers which do far more out-of-order rescheduling some applications have a problem; particularly under load. I suspect it's actually the latter issue. Locking between threads should prevent that being a problem, though. You already mentioned that you dont use sched_yield() and I couldn't even begin to look at the wine code myself so perhaps you know something more.
The other (useful?) bit of information is that one person solved his issue with this:
I had a similar problem with Cedega. I fixed it by editing the Cedega/WineX config file and specifying that I wanted to use ALSA instead of WineOSS, then disable mmap for ALSA.
I'm not sure if that fixes all the problems but perhaps that helps.
I'm interested in getting this resolved so please keep me informed.
Cheers, Con
P.S. Sorry I had trouble posting to your newsgroup.