Bug #8484

Implement aggregate sum and use for arc counters

Added by Prakash Surya about 1 year ago. Updated 5 months ago.

Status:ClosedStart date:2017-07-11
Priority:NormalDue date:
Assignee:Prakash Surya% Done:


Category:zfs - Zettabyte File System
Target version:-
Difficulty:Medium Tags:needs-triage


In pursuit of improving performance on multi-core systems, we should
implements fanned out counters and use them to improve the performance of
some of the arc statistics. These stats are updated extremely frequently,
and can consume a significant amount of CPU time.


#1 Updated by Dan McDonald 5 months ago

From its RTI:

We (Delphix) had an internal investigation of a case very similar to Dan McDonald's scenario shortly after the last RTI, where processes were spamming kstat grabbing in a tight loop. Of the CPU used by those processes, almost all of it was in the fork/exec loop, and only a small fraction was in the ioctl code. The amount of time spent in the arc or any other codepaths affected by this change was barely distinguishable from the steady-state operation of the system. As a result, I feel comfortable saying that this change does not increase the ability of a user to DoS the system by fetching kstats.

#2 Updated by Electric Monk 5 months ago

  • % Done changed from 0 to 100
  • Status changed from New to Closed

git commit 3a2d8a1b18794077eff4c504197c1d6f9d7ee487

commit  3a2d8a1b18794077eff4c504197c1d6f9d7ee487
Author: Paul Dagnelie <pcd@delphix.com>
Date:   2018-02-20T18:44:19.000Z

    8484 Implement aggregate sum and use for arc counters
    Reviewed by: Pavel Zakharov <pavel.zakharov@delphix.com>
    Reviewed by: Matthew Ahrens <mahrens@delphix.com>
    Approved by: Dan McDonald <danmcd@joyent.com>

Also available in: Atom