Closed
Bug 357426
Opened 18 years ago
Closed 18 years ago
Debug nsAutoLocks cause CPU spike
Categories
(Core :: XPCOM, defect)
Tracking
()
RESOLVED
FIXED
People
(Reporter: mozilla, Assigned: mozilla)
References
Details
(Keywords: fixed1.8.1.1)
Attachments
(1 file, 1 obsolete file)
3.47 KB,
patch
|
brendan
:
review+
jst
:
superreview+
dveditz
:
approval1.8.1.1+
|
Details | Diff | Splinter Review |
( copied w/edit from bug 58904 ) We see in Songbird, in debug mode a major thrashing of the OrderTable. We currently use nsAutoLocks in our db code and make a TON of queries. The symptom we see is CPU spiking ( 50% on a 2 CPU machine meaning one cpu is always pegged ) and then the app becomes very un-responsive. Of course in release this symptom goes away. I have been able to make the symptom go away a couple of ways, 1) change nsAutoLock back to PRLock/PRUnlock (duh) 2) hack nsAutoLock to have static methods as does nsAutoMonitor - NewLock() and DestroyLock() that operate identically to the nsAutoMonitor calls. I have a patch for 2) that I'll be attaching.
Assignee | ||
Comment 1•18 years ago
|
||
Attachment #242901 -
Flags: review?(brendan)
Comment 2•18 years ago
|
||
Comment on attachment 242901 [details] [diff] [review] add NewLock() DestroyLock statics, 1_8 BRANCH Since you're here, how about static functions to consolidate the #ifdef DEBUG code in NewLock and NewMonitor? Thanks, /be
Assignee | ||
Comment 3•18 years ago
|
||
Had to move the NewLock/DestroyLock methods out of the big ifdef DEBUG section (whoops). Added the method requested. Patch applies cleanly to trunk and branch.
Assignee: nobody → mozilla
Attachment #242901 -
Attachment is obsolete: true
Status: NEW → ASSIGNED
Attachment #242949 -
Flags: review?(brendan)
Attachment #242901 -
Flags: review?(brendan)
Comment 4•18 years ago
|
||
Comment on attachment 242949 [details] [diff] [review] moved NewLock/DLock out of debug section and added another static Move the OrderTable null test into OnSemaphoreRecycle and r=me. /be
Assignee | ||
Comment 5•18 years ago
|
||
(In reply to comment #4) > (From update of attachment 242949 [details] [diff] [review] [edit]) > Move the OrderTable null test into OnSemaphoreRecycle and r=me. > > /be > Oh yeah, duh. Needs to be there. I was trying to save the call when there wasn't an OrderTable, but that really doesn't make any sense.
Assignee | ||
Updated•18 years ago
|
Attachment #242949 -
Flags: superreview?(jst)
Comment 6•18 years ago
|
||
Comment on attachment 242949 [details] [diff] [review] moved NewLock/DLock out of debug section and added another static sr=jst with brendan's issue fixed before checking in.
Attachment #242949 -
Flags: superreview?(jst) → superreview+
Assignee | ||
Comment 7•18 years ago
|
||
Checked in 10/26 with brendan's last comment
Status: ASSIGNED → RESOLVED
Closed: 18 years ago
Resolution: --- → FIXED
Assignee | ||
Updated•18 years ago
|
Attachment #242949 -
Flags: approval1.8.1.1?
Comment 8•18 years ago
|
||
Comment on attachment 242949 [details] [diff] [review] moved NewLock/DLock out of debug section and added another static approved for 1.8 branch, a=dveditz for drivers
Attachment #242949 -
Flags: approval1.8.1.1? → approval1.8.1.1+
Comment 10•18 years ago
|
||
Comment on attachment 242949 [details] [diff] [review] moved NewLock/DLock out of debug section and added another static Thougth I stamped this; sorry. /be
Attachment #242949 -
Flags: review?(brendan) → review+
You need to log in
before you can comment on or make changes to this bug.
Description
•