HomeFreeBSD

Avoid extra taskq_dispatch() calls by DMU.

Description

Avoid extra taskq_dispatch() calls by DMU.

DMU sync code calls taskq_dispatch() for each sublist of os_dirty_dnodes
and os_synced_dnodes. Since the number of sublists by default is equal
to number of CPUs, it will dispatch equal, potentially large, number of
tasks, waking up many CPUs to handle them, even if only one or few of
sublists actually have any work to do.

This change adds check for empty sublists to avoid this.

Details

Provenance
mavAuthored on
Parents
rS349380: libbe(3): mount: the BE dataset is mounted at /
Branches
Unknown
Tags
Unknown