Implement aggregate sum and use for arc counters
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.
Updated by Dan McDonald about 2 years 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.
Updated by Electric Monk about 2 years ago
- Status changed from New to Closed
- % Done changed from 0 to 100
commit 3a2d8a1b18794077eff4c504197c1d6f9d7ee487 Author: Paul Dagnelie <firstname.lastname@example.org> Date: 2018-02-20T18:44:19.000Z 8484 Implement aggregate sum and use for arc counters Reviewed by: Pavel Zakharov <email@example.com> Reviewed by: Matthew Ahrens <firstname.lastname@example.org> Approved by: Dan McDonald <email@example.com>