Alexander Motin
aef452f108
Improve zfs_blkptr_verify()
...
- Skip config lock enter/exit for embedded blocks. They have no
DVAs, so there is nothing to check under the lock.
- Skip CHECKSUM check and properly check PSIZE for embedded blocks.
- Add static branch predictions for unlikely conditions.
- Do not verify DVAs for blocks already in ARC. ARC hit already
"verified" the first (often the only) DVA, and it does not worth to
enter/exit config lock for nothing.
Some profiles show me up to 3% of CPU saving from this change.
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov >
Reviewed-by: Allan Jude <allan@klarasystems.com >
Signed-off-by: Alexander Motin <mav@FreeBSD.org >
Sponsored by: iXsystems, Inc.
Closes #16387
2024-08-08 15:25:10 -07:00
..
2024-03-25 16:50:35 -07:00
2022-03-15 15:13:42 -07:00
2024-08-08 15:25:10 -07:00
2023-05-01 17:21:27 -07:00
2022-03-15 15:13:42 -07:00
2023-06-09 10:12:52 -07:00
2024-03-25 15:01:54 -07:00
2022-07-11 14:16:13 -07:00
2023-01-10 13:39:22 -08:00
2024-03-25 17:13:45 -07:00
2024-05-10 08:47:21 -07:00
2023-11-07 11:34:50 -08:00
2023-11-17 13:25:53 -08:00
2024-08-01 18:22:43 -07:00
2024-07-26 09:16:18 -07:00
2024-07-26 09:16:18 -07:00
2024-07-26 09:16:18 -07:00
2024-05-29 10:49:11 -07:00
2024-05-10 08:47:21 -07:00
2024-05-29 10:49:11 -07:00
2024-05-29 10:49:11 -07:00
2024-05-29 10:49:11 -07:00
2024-05-29 10:49:11 -07:00
2024-03-25 15:01:54 -07:00
2024-07-29 14:47:01 -07:00
2024-04-09 16:14:04 -07:00
2024-07-29 17:05:41 -07:00
2023-12-11 14:42:06 -08:00
2024-07-30 11:40:47 -07:00
2024-03-25 15:01:54 -07:00
2023-12-05 11:03:48 -08:00
2024-07-15 09:05:42 -07:00
2024-03-25 15:01:54 -07:00
2022-07-11 14:16:13 -07:00
2024-03-25 15:01:54 -07:00
2023-09-28 14:10:07 -07:00
2024-03-25 15:01:54 -07:00
2023-03-14 15:25:50 -07:00
2024-05-09 07:32:59 -07:00
2022-07-11 14:16:13 -07:00
2023-03-14 15:25:50 -07:00
2023-03-14 15:59:58 -07:00
2023-06-09 10:12:52 -07:00
2022-07-11 14:16:13 -07:00
2022-03-15 15:13:42 -07:00
2024-07-30 11:40:47 -07:00
2022-01-12 16:14:36 -08:00
2022-07-11 14:16:13 -07:00
2024-05-29 08:53:31 -07:00
2024-04-29 14:35:53 -07:00
2024-04-09 16:23:19 -07:00
2019-06-19 09:48:12 -07:00
2022-07-11 14:16:13 -07:00
2023-05-26 10:03:12 -07:00
2023-06-14 08:02:27 -07:00
2022-07-11 14:16:13 -07:00
2024-08-01 13:04:08 -07:00
2023-03-02 13:52:21 -08:00
2022-03-15 15:13:42 -07:00
2023-11-08 10:19:41 -08:00
2023-10-26 09:17:40 -07:00
2024-03-25 15:01:54 -07:00
2023-03-14 15:25:50 -07:00
2024-03-25 15:01:54 -07:00
2024-07-29 17:05:41 -07:00
2022-09-27 16:42:41 -07:00
2024-08-08 15:16:46 -07:00
2022-07-11 14:16:13 -07:00
2022-07-11 14:16:13 -07:00
2018-06-06 09:35:59 -07:00
2018-06-06 09:35:59 -07:00
2024-04-29 14:35:53 -07:00
2024-03-25 15:01:54 -07:00
2022-07-11 14:16:13 -07:00
2020-11-13 13:51:51 -08:00
2024-04-11 17:17:23 -07:00
2022-03-15 15:13:42 -07:00
2022-03-15 15:13:42 -07:00
2023-07-21 11:49:26 -07:00
2024-05-14 08:57:41 -07:00
2024-08-08 15:16:46 -07:00
2024-03-25 15:01:54 -07:00
2022-07-11 14:16:13 -07:00
2023-11-07 09:06:14 -08:00
2022-07-11 14:16:13 -07:00
2022-07-11 14:16:13 -07:00
2022-11-30 13:46:26 -08:00
2022-07-11 14:16:13 -07:00
2022-07-11 14:16:13 -07:00
2022-07-11 14:16:13 -07:00
2023-10-30 14:54:27 -07:00
2023-01-13 10:58:58 -08:00
2022-07-11 14:16:13 -07:00
2022-07-11 14:16:13 -07:00
2022-07-11 14:16:13 -07:00
2022-07-11 14:16:13 -07:00
2023-04-06 10:35:02 -07:00
2024-05-10 08:47:21 -07:00
2024-05-14 08:57:41 -07:00
2023-03-14 15:25:50 -07:00
2022-07-11 14:16:13 -07:00
2024-05-14 08:57:41 -07:00
2024-07-23 16:34:09 -07:00
2024-03-21 16:43:53 -07:00
2024-07-26 09:16:18 -07:00
2024-05-24 18:55:47 -07:00
2023-03-14 15:25:50 -07:00
2018-02-08 15:29:24 -08:00
2023-03-14 15:25:50 -07:00
2020-02-14 13:41:42 -08:00
2022-09-02 13:31:19 -07:00
2024-05-29 10:49:11 -07:00
2022-07-11 14:16:13 -07:00
2022-07-11 14:16:13 -07:00
2023-03-02 13:52:21 -08:00
2024-04-11 17:17:11 -07:00
2023-06-09 10:12:52 -07:00
2023-03-02 13:52:21 -08:00
2024-07-26 09:16:18 -07:00
2024-07-29 14:47:01 -07:00
2023-06-09 10:12:52 -07:00
2023-10-23 09:55:36 -07:00
2022-07-11 14:16:13 -07:00
2024-08-05 16:56:45 -07:00
2022-07-11 14:16:13 -07:00
2022-07-11 14:16:13 -07:00
2024-05-29 10:49:11 -07:00
2024-07-31 17:17:04 -07:00
2024-03-25 15:01:54 -07:00
2023-02-27 14:41:02 -08:00
2024-04-29 14:35:53 -07:00
2024-08-08 15:25:10 -07:00
2022-07-11 14:16:13 -07:00
2022-11-29 09:26:03 -08:00
2022-03-23 08:51:00 -07:00
2024-08-06 12:08:14 -07:00