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.
Updated by Marcel Telka over 9 years ago
- Status changed from In Progress to Pending RTI
Updated by Marcel Telka over 9 years ago
- Status changed from Pending RTI to Resolved
- % Done changed from 0 to 100
- Tags deleted (
needs-triage)
commit c596e8663644f226509d50dd96c7e4e15ad23f24 Author: Marcel Telka <marcel.telka@nexenta.com> AuthorDate: Thu Jan 30 17:35:08 2014 +0100 Commit: Richard Lowe <richlowe@richlowe.net> CommitDate: Mon Feb 3 10:52:31 2014 -0500 4551 mountd: Busy do_logging_queue() eats memory Reviewed by: Michael Tsymbalyuk <michael.tsymbalyuk@nexenta.com> Reviewed by: Gordon Ross <gordon.ross@nexenta.com> Approved by: Richard Lowe <richlowe@richlowe.net>
Actions