Alexander Motin
a41ef36858
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-10 10:21:29 -08:00
..
2025-03-13 17:56:27 -07:00
2025-09-10 15:31:30 -07:00
2025-11-12 13:07:14 -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-12 13:06:48 -08:00
2025-11-12 13:07:09 -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-10 10:21:29 -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-11-12 13:05:25 -08: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 15:05:02 -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:50:53 -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 12:08:14 -07:00
2025-03-13 17:56:27 -07:00
2025-11-12 13:06:54 -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-12 13:07:14 -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:31:30 -07:00
2025-09-10 15:31:30 -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-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-01 16:47:41 -07:00
2025-04-18 09:22:16 -04:00
2025-03-13 17:56:27 -07:00
2025-09-10 15:01:32 -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-21 09:50:43 -07:00
2025-03-13 17:56:27 -07:00
2025-11-12 13:06:01 -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-21 09:50:43 -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-09 17:04:32 -07:00