Project

General

Profile

Bug #4551

mountd: Busy do_logging_queue() eats memory

Added by Marcel Telka about 7 years ago. Updated about 7 years ago.

Status:
Resolved
Priority:
Normal
Assignee:
Category:
nfs - NFS server and client
Start date:
2014-01-30
Due date:
% Done:

100%

Estimated time:
Difficulty:
Medium
Tags:
Gerrit CR:

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.

#1

Updated by Marcel Telka about 7 years ago

  • Status changed from In Progress to Pending RTI
#2

Updated by Marcel Telka about 7 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>

Also available in: Atom PDF