HomeFreeBSD

Optimize txg_kick() process (#12274)

Description

Optimize txg_kick() process (#12274)

Use dp_dirty_pertxg[] for txg_kick(), instead of dp_dirty_total in
original code. Extra parameter "txg" is added for txg_kick(), thus it
knows which txg to kick. Also txg_kick() call is moved from
dsl_pool_need_dirty_delay() to dsl_pool_dirty_space() so that we can
know the txg number assigned for txg_kick().

Some unnecessary code regarding dp_dirty_total in txg_sync_thread() is
also cleaned up.

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-by: Matthew Ahrens <mahrens@delphix.com>
Reviewed-by: Alexander Motin <mav@FreeBSD.org>
Signed-off-by: jxdking <lostking2008@hotmail.com>
Closes #12274

Details

Provenance
Kevin Jin <33590050+jxdking@users.noreply.github.com>Authored on Jul 1 2021, 3:20 PM
Tony Hutter <hutter2@llnl.gov>Committed on Sep 21 2022, 11:12 PM
Parents
rGa5b0d4254059: zfs recv hangs if max recordsize is less than received recordsize
Branches
Unknown
Tags
Unknown

Event Timeline

Tony Hutter <hutter2@llnl.gov> committed rG999830a0212e: Optimize txg_kick() process (#12274) (authored by Kevin Jin <33590050+jxdking@users.noreply.github.com>).Sep 21 2022, 11:12 PM