HomeFreeBSD

Fix/improve dbuf hits accounting

Description

Fix/improve dbuf hits accounting

Instead of clearing stats inside arc_buf_alloc_impl() do it inside
arc_hdr_alloc() and arc_release(). It fixes statistics being wiped
every time a new dbuf is filled from the ARC.

Remove b_l1hdr.b_l2_hits. L2ARC hits are accounted at b_l2hdr.b_hits.
Since the hits are accounted under hash lock, replace atomics with
simple increments.

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-by: George Wilson <george.wilson@delphix.com>
Signed-off-by: Alexander Motin <mav@FreeBSD.org>
Sponsored-By: iXsystems, Inc.
Closes #12422

Details

Provenance
mavAuthored on Aug 17 2021, 3:50 PM
GitHub <noreply@github.com>Committed on Aug 17 2021, 3:50 PM
Parents
rG7f9d9e6f39fd: Avoid vq_lock drop in vdev_queue_aggregate()
Branches
Unknown
Tags
Unknown

Event Timeline