Lokesh Gidra
a905086c85
ANDROID: userfaultfd: allow SPF for UFFD_FEATURE_SIGBUS on private+anon
...
Currently we bail out of speculative page fault when we detect that the
fault address is in a userfaultfd registered vma. However, if userfaultfd
is being used with UFFD_FEATURE_SIGBUS feature, then handle_userfault()
doesn't do much and is easiest to handle with SPF. This patch lets
MISSING userfaultfs on private anonymous mappings be allowed with SPF if
UFFD_FEATURE_SIGBUS is used.
With this patch we get >99% success rate for userfaults caused during
userfaultfd GC's compaction phase. This translates into eliminating
uninterruptible sleep time in do_page_fault() due to userfaults.
Bug: 320478828
Signed-off-by: Lokesh Gidra <lokeshgidra@google.com >
Change-Id: Ic7fde0fde03602b35179bc0cf891ddbbc434190f
(cherry picked from commit 582c6d188ec138d8ed9c6ef235bf5698d80d7d6b)
2024-03-05 19:08:29 +00:00
..
2023-04-13 07:58:36 +01:00
2023-11-27 15:23:01 +00:00
2023-09-08 12:39:57 +01:00
2023-05-30 12:57:56 +01:00
2021-01-25 12:21:02 -08:00
2021-03-25 19:20:18 +00:00
2023-12-08 16:26:36 +00:00
2021-06-04 11:15:16 -07:00
2023-07-18 17:31:55 +00:00
2022-02-08 18:30:35 +01:00
2021-04-30 09:13:34 -07:00
2020-10-13 18:38:32 -07:00
2020-10-13 18:38:29 -07:00
2023-10-26 17:52:15 +00:00
2023-10-10 21:53:33 +02:00
2020-08-14 19:56:56 -07:00
2020-10-18 09:27:09 -07:00
2023-02-17 15:23:41 +00:00
2020-10-16 11:11:18 -07:00
2022-01-27 10:54:36 +01:00
2023-03-24 16:03:04 +00:00
2021-03-30 14:31:54 +02:00
2023-04-13 18:04:03 +01:00
2020-10-16 11:11:16 -07:00
2021-01-22 18:00:57 +00:00
2021-06-30 19:38:46 +02:00
2020-08-07 11:33:26 -07:00
2022-11-27 09:32:29 -08:00
2021-04-30 09:13:34 -07:00
2023-06-16 09:49:29 +00:00
2022-09-22 14:38:08 +02:00
2022-10-11 16:33:36 +00:00
2020-12-06 10:19:07 -08:00
2022-11-25 17:45:53 +01:00
2023-11-01 19:07:41 +00:00
2022-04-28 23:09:14 +08:00
2023-02-25 15:32:12 +00:00
2023-12-08 16:26:36 +00:00
2023-06-28 10:28:09 +02:00
2023-12-08 16:26:36 +00:00
2023-08-31 18:29:19 +00:00
2024-03-05 19:08:29 +00:00
2023-02-17 15:23:41 +00:00
2021-06-17 14:39:37 -07:00
2022-11-16 09:57:17 +01:00
2023-02-17 15:23:41 +00:00
2020-10-13 18:38:29 -07:00
2021-04-30 09:13:35 -07:00
2020-08-07 11:33:26 -07:00
2023-01-21 12:06:54 +00:00
2022-12-14 11:31:55 +01:00
2022-05-12 11:23:35 +02:00
2022-05-16 08:45:59 +02:00
2022-02-23 12:56:37 +01:00
2024-02-15 19:36:07 +00:00
2021-04-23 18:42:39 -07:00
2024-01-18 18:20:12 +00:00
2023-11-26 14:07:49 +00:00
2020-10-13 18:38:30 -07:00
2023-04-13 07:58:37 +01:00
2022-10-11 16:33:36 +00:00
2022-06-30 03:00:23 +00:00
2021-07-14 11:54:49 -07:00
2023-08-29 23:09:59 +00:00
2023-03-23 13:28:36 -07:00
2021-07-19 20:39:17 +00:00
2020-10-16 11:11:19 -07:00
2021-06-30 08:47:29 -04:00
2021-05-20 19:38:42 +00:00
2022-09-22 13:46:39 +02:00
2021-04-14 08:42:03 +02:00
2020-08-12 10:57:55 -07:00
2021-04-14 08:42:03 +02:00
2020-08-12 10:57:55 -07:00
2021-04-15 14:23:41 +02:00
2020-08-07 11:33:26 -07:00
2021-06-30 08:47:26 -04:00
2021-01-19 18:27:21 +01:00
2022-09-22 13:46:39 +02:00
2023-11-29 14:46:51 +00:00
2023-08-23 12:33:26 +00:00
2020-08-21 09:52:53 -07:00
2023-09-19 11:32:32 +00:00
2020-10-16 11:11:19 -07:00
2020-08-07 11:33:29 -07:00
2023-01-20 00:46:19 +00:00
2023-01-20 00:46:19 +00:00
2021-11-26 15:37:44 +01:00
2023-01-20 00:46:19 +00:00
2022-09-29 17:06:30 +02:00
2020-08-07 11:33:27 -07:00
2021-05-14 09:50:45 +02:00
2022-10-24 14:26:09 +08:00
2022-03-23 12:30:33 +01:00
2022-08-03 20:10:45 +00:00
2023-09-15 19:58:39 +00:00
2021-06-30 08:47:27 -04:00
2022-04-08 14:40:43 +02:00
2024-03-05 19:08:29 +00:00
2023-06-30 08:42:41 +00:00
2023-08-31 18:29:19 +00:00
2021-07-12 18:26:15 -07:00
2024-02-02 17:56:46 +00:00
2022-05-16 08:45:59 +02:00
2020-10-20 14:39:37 -07:00
2021-07-14 16:56:51 +02:00
2020-10-13 18:38:34 -07:00
2020-08-12 10:57:58 -07:00
2022-07-23 16:09:48 +02:00