Project

General

Profile

Bug #3330

space_seg_t should have its own kmem_cache

Added by Christopher Siden about 8 years ago. Updated about 8 years ago.

Status:
Closed
Priority:
Normal
Category:
zfs - Zettabyte File System
Start date:
2012-10-31
Due date:
% Done:

0%

Estimated time:
Difficulty:
Medium
Tags:
needs-triage
Gerrit CR:

Description

From Matt Ahrens's original bug report at Delphix:

There are often many many entries in the loaded space_map's (~30,000 in each
map, with dozens loaded).  The space_seg_t's should have their own kmem_cache,
so that we can easily monitor the amount of memory used.  This will be
especially important as we change the code to keep space maps loaded longer (or
force them to stay loaded by setting metaslab_debug).
#1

Updated by Christopher Siden about 8 years ago

  • Status changed from In Progress to Closed
commit 01f55e48fb4d524eaf70687728aa51b7762e2e97
Author: George Wilson <george.wilson@delphix.com>
Date:   Wed Nov 7 14:05:17 2012 -0800

    3329 spa_sync() spends 10-20% of its time in spa_free_sync_cb()
    3330 space_seg_t should have its own kmem_cache
    3331 deferred frees should happen after sync_pass 1
    3335 make SYNC_PASS_* constants tunable
    Reviewed by: Adam Leventhal <ahl@delphix.com>
    Reviewed by: Matt Ahrens <matthew.ahrens@delphix.com>
    Reviewed by: Christopher Siden <chris.siden@delphix.com>
    Reviewed by: Eric Schrock <eric.schrock@delphix.com>
    Reviewed by: Richard Lowe <richlowe@richlowe.net>
    Reviewed by: Dan McDonald <danmcd@nexenta.com>
    Approved by: Eric Schrock <eric.schrock@delphix.com>

Also available in: Atom PDF