Mateusz Guzik
b088a4d6f9
cache: avoid excessive relocking on entry removal during lookup
...
Due to lock ordering issues (bucket lock held, vnode locks wanted) the code
starts with trylocking which in face of contention often fails. Prior to
the change it would loop back with a possible yield.
Instead note we know what locks are needed and can take them in the right
order, avoiding retries. Then we can safely re-lookup and see if the entry
we are looking for is still there.
On a 104-way box poudriere would result in constant retries during an 11h
run as seen in the vfs.cache.zap_and_exit_bucket_fail counter.
before: 408866592
after : 0
However, a new stat reports:
vfs.cache.zap_and_exit_bucket_relock_success: 32638
Note this is only a bandaid over current design issues.
Tested by: pho
Sponsored by: The FreeBSD Foundation
2019-09-10 20:19:29 +00:00
..
2019-08-04 19:28:10 +00:00
2019-09-03 04:16:30 +00:00
2018-11-13 23:45:38 +00:00
2019-05-05 11:20:43 +00:00
2018-11-29 21:00:56 +00:00
2019-09-07 16:03:26 +00:00
2018-11-29 21:00:56 +00:00
2019-08-08 16:42:53 +00:00
2019-09-03 04:16:30 +00:00
2019-06-14 01:09:10 +00:00
2018-09-06 02:10:59 +00:00
2019-01-27 00:46:06 +00:00
2018-10-20 18:31:36 +00:00
2018-11-26 20:56:05 +00:00
2019-09-05 17:48:39 +00:00
2019-08-08 07:27:49 +00:00
2019-07-21 15:07:12 +00:00
2019-08-16 00:45:14 +00:00
2019-02-05 15:34:55 +00:00
2019-07-29 20:26:01 +00:00
2019-09-09 21:32:42 +00:00
2019-09-02 12:46:43 +00:00
2019-09-03 18:56:25 +00:00
2019-05-24 22:33:14 +00:00
2018-12-07 16:11:45 +00:00
2019-09-09 21:32:42 +00:00
2018-11-16 17:07:54 +00:00
2019-03-06 22:11:45 +00:00
2018-10-20 18:08:43 +00:00
2019-08-21 23:43:58 +00:00
2019-08-21 23:43:58 +00:00
2018-12-07 16:11:45 +00:00
2019-01-14 07:31:19 +00:00
2019-09-01 22:22:43 +00:00
2019-06-24 20:52:21 +00:00
2018-12-24 23:52:35 +00:00
2019-08-23 06:39:40 +00:00
2018-11-20 20:32:10 +00:00
2019-01-15 01:02:16 +00:00
2018-10-30 18:26:34 +00:00
2018-12-19 23:28:29 +00:00
2019-08-28 16:18:23 +00:00
2019-09-03 18:56:25 +00:00
2019-08-11 19:16:07 +00:00
2019-08-28 16:18:23 +00:00
2019-06-27 23:10:40 +00:00
2019-03-18 12:41:42 +00:00
2018-11-13 20:48:05 +00:00
2019-03-06 22:11:45 +00:00
2019-09-09 21:32:42 +00:00
2019-09-04 13:26:59 +00:00
2019-08-11 19:16:07 +00:00
2018-12-05 16:43:03 +00:00
2019-08-18 11:43:58 +00:00
2019-09-03 04:16:30 +00:00
2019-09-09 12:42:48 +00:00
2019-07-15 21:16:01 +00:00
2019-05-03 21:26:44 +00:00
2019-07-03 19:22:44 +00:00
2019-05-28 09:12:15 +00:00
2019-08-01 14:34:27 +00:00
2019-06-19 15:36:02 +00:00
2018-12-04 16:48:47 +00:00
2019-08-08 07:27:49 +00:00
2019-08-08 07:27:49 +00:00
2019-06-25 16:39:25 +00:00
2019-08-22 10:21:07 +00:00
2019-05-08 16:30:38 +00:00
2019-08-13 04:54:02 +00:00
2019-05-13 23:37:44 +00:00
2018-12-11 19:32:16 +00:00
2018-12-11 19:32:16 +00:00
2019-07-11 20:52:39 +00:00
2019-04-18 22:52:12 +00:00
2019-06-29 00:48:33 +00:00
2019-08-04 19:28:10 +00:00
2018-10-30 18:26:34 +00:00
2019-03-12 04:49:47 +00:00
2019-08-25 07:50:44 +00:00
2019-01-29 11:04:17 +00:00
2018-08-23 01:42:45 +00:00
2019-03-12 05:10:41 +00:00
2018-10-12 00:32:45 +00:00
2019-07-24 23:04:59 +00:00
2019-05-21 20:38:48 +00:00
2019-02-12 21:23:59 +00:00
2018-08-18 19:45:56 +00:00
2019-05-20 00:38:23 +00:00
2018-10-30 14:54:15 +00:00
2019-01-31 22:27:39 +00:00
2019-03-06 22:11:45 +00:00
2018-08-09 17:42:27 +00:00
2019-09-07 05:13:31 +00:00
2019-08-24 00:01:19 +00:00
2019-04-06 21:56:24 +00:00
2019-05-20 00:38:23 +00:00
2019-05-07 17:47:20 +00:00
2019-02-20 09:38:19 +00:00
2018-12-17 17:11:00 +00:00
2018-09-02 20:17:51 +00:00
2019-08-07 19:27:14 +00:00
2019-08-16 19:46:22 +00:00
2019-06-29 00:48:33 +00:00
2019-06-20 01:15:33 +00:00
2019-05-04 20:34:26 +00:00
2019-03-15 22:39:55 +00:00
2019-07-15 21:25:16 +00:00
2019-06-20 01:15:33 +00:00
2019-08-19 11:18:36 +00:00
2019-07-24 23:04:59 +00:00
2018-11-20 14:58:41 +00:00
2019-09-01 22:22:43 +00:00
2019-08-02 18:01:47 +00:00
2018-12-06 17:29:37 +00:00
2019-07-21 15:07:12 +00:00
2019-08-21 19:35:04 +00:00
2019-08-05 20:31:17 +00:00
2019-09-09 21:32:42 +00:00
2019-09-03 04:16:30 +00:00
2019-09-03 04:16:30 +00:00
2019-09-03 04:16:30 +00:00
2019-05-04 19:05:30 +00:00
2019-05-04 19:05:30 +00:00
2018-11-06 23:41:44 +00:00
2018-10-26 17:59:25 +00:00
2019-05-20 00:38:23 +00:00
2018-10-20 18:31:36 +00:00
2019-07-04 15:42:02 +00:00
2019-08-27 00:01:56 +00:00
2019-08-09 05:18:59 +00:00
2019-09-09 21:32:42 +00:00
2019-08-20 17:44:03 +00:00
2018-12-11 19:32:16 +00:00
2019-09-10 19:08:01 +00:00
2019-08-27 00:01:56 +00:00
2019-08-27 00:01:56 +00:00
2019-08-11 19:16:07 +00:00
2019-07-21 15:07:12 +00:00
2019-01-15 01:02:16 +00:00
2019-09-10 18:27:45 +00:00
2019-09-10 20:19:29 +00:00
2019-08-19 23:09:38 +00:00
2019-09-02 15:24:25 +00:00
2018-11-23 22:24:59 +00:00
2019-02-05 04:47:21 +00:00
2019-09-03 15:42:11 +00:00
2018-10-23 21:43:41 +00:00
2019-05-21 15:12:13 +00:00
2019-08-23 19:40:10 +00:00
2019-05-20 00:38:23 +00:00
2019-09-05 18:19:51 +00:00
2019-08-18 18:40:12 +00:00
2019-09-03 20:31:48 +00:00
2019-08-28 20:34:24 +00:00