3 ms·
Look again - that tight loop in RtlFindNextForwardRunClear isn't spinning on a lock - it's scanning forward through memory, 4 bytes at a time, looking for 4 byt
by caf 7y ago
Look again - that tight loop in RtlFindNextForwardRunClear isn't spinning on a lock - it's scanning forward through memory, 4 bytes at a time, looking for 4 bytes not equal to the pattern in %ebp.
So it looks more like "process is holding lock A while doing a very long scan through memory". That would fit with the name of the function, too.
- brucedawson 7y agoCorrect. Nobody was spinning on a lock. Everybody was waiting politely. The problem was that the system process held the lock for too long, due to some inefficiency in system restore (root cause not yet understood by me).