Bug #702
openWatcher processes are too heavy for full-kernel check
0%
Description
When you run LDV tools in parallel mode (for example, with LDV_MAX_RCVS=2
setting), LDV spawns watcher processes when it should queue a task and proceedes. (In the non-parallel mode it waits for them to finish after spawning) As a result, when you check a lot of drivers (for example, when you check the whole kernel) the system gets polluted with a lot of not-so-small (8-10 Mb each!) processes that just wait for a semaphore, making the usual kernel check mode implausible.
This should be fixed.
Updated by Pavel Shved almost 14 years ago
- Status changed from New to Open
- Priority changed from Urgent to Normal
I made a quickfix in 96373f03. Now whether a task is blocking or non-blocking is decided separately for each kind. I.e. if you allow several RCVs to run (LDV_MAX_RCVS=2
), but sill allow only one DSCV simultaneously (LDV_MAX_DSCVS=1
), then only RCVs will be called asynchronously. Contrary to the huge amount of DSCV tasks for a kernel check, there's 1-4 RCVs only for each DSCV, so the negative effect on the RAM won't be huge.
This quickfix has been checked in in the revision 96373f03. You may now safely use LDV_MAX_RCVS=2
.