Alexander Motin
928eccc5bc
DDT: Reduce global DDT lock scope during writes
...
Before this change DDT lock was taken 4 times per written block,
and as effectively a pool-wide lock it can be highly congested.
This change introduces a new per-entry dde_io_lock, protecting some
fields during I/O ready and done stages, so that we don't need the
global lock there.
According to my write tests on 64-thread system with 4KB blocks this
significantly reduce the global lock contention, reducing CPU usage
from 100% to expected ~80%, and increasing write throughput by 10%.
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov >
Reviewed-by: Rob Norris <robn@despairlabs.com >
Signed-off-by: Alexander Motin <alexander.motin@TrueNAS.com >
Closes #17960
2025-12-01 10:44:10 -08:00
..
2025-11-12 10:03:51 -08:00
2025-09-10 15:25:03 -07:00
2025-11-11 10:42:17 -08:00
2025-03-13 17:56:54 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:50 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-07-21 10:32:01 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-11-10 13:58:39 -08:00
2025-11-10 16:16:22 -08:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-08-06 10:36:56 -07:00
2025-03-13 17:56:27 -07:00
2025-12-01 10:44:10 -08:00
2025-08-21 06:05:38 -07:00
2025-07-02 11:11:37 -07:00
2025-04-29 16:27:48 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-08-06 10:36:07 -07:00
2025-05-28 10:28:51 -07:00
2025-05-13 14:26:55 -07:00
2025-10-30 16:28:28 -07:00
2025-08-21 06:05:38 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-06-10 14:52:43 -07:00
2025-03-13 17:56:27 -07:00
2025-09-12 09:53:31 -07:00
2025-03-13 17:56:27 -07:00
2025-04-29 16:27:48 -07:00
2025-03-24 09:25:01 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-06-04 17:40:09 -07:00
2025-03-13 17:56:27 -07:00
2025-07-31 10:44:42 -04:00
2025-07-04 23:22:22 -04:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-04-18 09:22:16 -04:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-09-29 16:38:52 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:57:31 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-09-25 09:35:35 -07:00
2025-03-13 17:56:27 -07:00
2025-11-10 14:23:39 -08:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-05-28 10:27:46 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-05-02 15:32:18 -07:00
2025-03-13 17:56:27 -07:00
2025-11-11 10:42:17 -08:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-09-10 15:25:03 -07:00
2025-09-10 15:25:03 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-08-06 09:50:58 -07:00
2025-07-30 09:49:43 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-04-29 16:27:48 -07:00
2025-03-13 17:56:27 -07:00
2025-11-12 10:00:24 -08:00
2025-11-12 10:03:07 -08:00
2025-03-13 17:56:27 -07:00
2025-11-12 10:04:03 -08:00
2025-11-12 10:02:51 -08:00
2025-03-13 17:56:27 -07:00
2025-09-10 11:13:55 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-10-01 12:17:13 -07:00
2025-03-13 17:56:27 -07:00
2025-11-05 16:22:03 -08:00
2025-04-03 10:36:45 -07:00
2025-05-13 14:26:55 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-05-12 10:22:17 -07:00
2025-08-07 11:40:59 -07:00
2025-08-14 08:50:17 -07:00
2025-08-08 16:43:33 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-10-01 12:17:13 -07:00
2025-03-13 17:56:27 -07:00
2025-03-13 17:56:27 -07:00
2025-08-19 10:06:47 -07:00
2025-09-03 11:13:09 -07:00