Actions
Bug #4551
closedmountd: Busy do_logging_queue() eats memory
Start date:
2014-01-30
Due date:
% Done:
100%
Estimated time:
Difficulty:
Medium
Tags:
Gerrit CR:
External Bug:
Description
The do_logging_queue() function iterates over the logging_data queue and process it. Once an entry is processed it is placed into the lq_clean queue. This queue is cleaned at the end of the function run here:
325 while (lq_clean) { 326 lq = lq_clean; 327 lq_clean = lq->ld_next; 328 329 free_logging_data(lq); 330 cleared++; 331 }
When new entries are added to the logging_data queue with the same (or faster) rate as the do_logging_queue() is able to process, we will never free the processed entries, because we will loop processing the incoming entries.
Actions