The Mac implementation of interrupts currently uses a Time Manager task to do work every 8ms. Since the PrimeTime call is a 68k call, this incurs more overhead than we'd like. An alternative is to use the MultiProcessor APIs when available (even on single CPU machines), since these will have a lower overhead.
I've attached a first cut at an MP-task implementation of interrupts for Mac. I make no guarantees that this is safe, and won't crash, but it seems to work for me, and could be used as a basis for a real implementation.
how about the defered task manager? does that have 68k overhead? It exists even where the mp api's dont.
IIRC the deferred task manager is for tasks you want to perform as you leave an interrupt rather than an interrupt mechanism itself
I tried this patch and kept landing in macsbug (dsFSErr) and had to reboot my Mac. I'm running OS 9.1. I did try running other TCP/IP apps before mozilla but I still couldn't get past the profile picker dismissal.
Simon, Are we still going to use MP tasks? I haven't seen any activity on this bug. Should I mark it "Future" or WONTFIX?
We need to do some performance evalutation on this. I'd keep it on the radar for now. It may be a good thing to do on Mac OS X, but not so good on 9.
I don't remember if I tested this on X but I do recall it didn't work at all for me under 9
Since we're now only supporting Mac OS X (where we don't need the MP tasks), I think this can be closed.
Marked the bug WONTFIX.