Alexander Motin 8136b9d73b
Avoid some spa_has_pending_synctask() calls.
Since 8c4fb36a24 (PR #7795) spa_has_pending_synctask() started to
take two more locks per write inside txg_all_lists_empty().  I am
surprised those pool-wide locks are not contended, but still their
operations are visible in CPU profiles under contended vdev lock.

This commit slightly changes vdev_queue_max_async_writes() flow to
not call the function if we are going to return max_active any way
due to high amount of dirty data.  It allows to save some CPU time
exactly when the pool is busy.

Reviewed-by: Ryan Moeller <ryan@iXsystems.com>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-By: Tom Caputi <caputit1@tcnj.edu>
Signed-off-by: Alexander Motin <mav@FreeBSD.org>
Closes #11280
2020-12-06 09:55:02 -08:00
..
2020-09-02 09:42:12 -07:00
2020-11-02 11:51:12 -08:00
2020-10-27 09:43:36 -07:00
2020-09-02 09:42:12 -07:00
2020-06-10 09:24:15 -07:00
2020-10-02 17:44:10 -07:00
2020-06-10 09:24:15 -07:00
2020-08-20 10:30:06 -07:00
2020-10-08 20:07:10 -07:00