Sultan Alsawaf
2e57085d1e
cpumask: Add optimized helpers when NR_CPUS fits in a long
...
When NR_CPUS fits in a long, it's possible to use compiler built-ins to
produce much faster code when operating on cpumasks compared to just using
the generic bitops APIs.
Therefore, add optimized helpers using compiler built-ins when NR_CPUS fits
in a long. This also turns nr_cpu_ids into a compile-time constant for
further optimization potential.
Note that compared to the upstream cpumask rewrite with this feature, these
optimized helpers perfectly preserve the semantics of the helpers they
replace. And this change is much smaller than the upstream version.
Signed-off-by: Sultan Alsawaf <sultan@kerneltoast.com >
2023-09-27 18:05:39 +03:00
..
2017-11-02 11:10:55 +01:00
2022-10-20 18:22:56 +03:00
2022-05-27 08:51:18 +00:00
2022-09-22 17:33:54 +03:00
2022-05-27 08:51:18 +00:00
2023-09-02 11:18:02 +03:00
2022-04-20 09:08:12 +02:00
2022-10-07 11:19:36 +03:00
2022-09-26 20:02:19 +03:00
2021-03-11 10:21:25 +05:30
2023-03-16 18:10:40 +02:00
2023-03-16 18:10:40 +02:00
2023-03-16 18:11:12 +02:00
2022-09-26 20:02:16 +03:00
2022-10-07 11:19:36 +03:00
2017-12-14 09:52:52 +01:00
2022-06-29 08:05:29 +00:00
2017-07-14 15:05:13 -07:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2022-04-11 08:52:28 +00:00
2019-04-05 22:31:33 +02:00
2022-02-07 09:39:55 +00:00
2021-05-22 10:57:32 +02:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2023-08-30 16:35:15 +02:00
2017-11-02 11:10:55 +01:00
2022-02-07 09:39:20 +00:00
2017-11-02 11:10:55 +01:00
2023-06-26 12:24:14 +03:00
2023-09-27 18:05:39 +03:00
2017-06-09 11:52:07 +02:00
2022-04-11 07:21:35 +00:00
2022-04-11 07:21:25 +00:00
2022-04-11 07:21:35 +00:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2022-04-11 08:52:28 +00:00
2023-08-25 09:53:00 +03:00
2020-02-05 16:16:37 -08:00
2023-03-16 18:10:40 +02:00
2017-11-02 11:10:55 +01:00
2021-07-20 16:17:51 +02:00
2023-03-16 18:10:40 +02:00
2023-03-16 18:11:11 +02:00
2023-03-16 18:10:40 +02:00
2020-01-27 14:46:39 +01:00
2017-10-12 17:16:40 +01:00
2019-04-20 09:15:07 +02:00
2022-06-29 08:06:55 +00:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2019-11-12 19:18:01 +01:00
2023-06-26 12:24:14 +03:00
2022-04-11 08:52:28 +00:00
2018-05-09 09:51:54 +02:00
2017-07-10 16:32:35 -07:00
2017-08-10 15:54:06 -07:00
2022-04-11 08:52:28 +00:00
2017-11-02 11:10:55 +01:00
2022-04-11 07:21:35 +00:00
2021-01-12 20:09:06 +01:00
2022-05-12 12:17:06 +02:00
2017-11-02 11:10:55 +01:00
2022-07-18 06:38:27 +00:00
2017-11-02 11:10:55 +01:00
2022-02-07 09:39:21 +00:00
2022-10-07 11:19:36 +03:00
2022-04-11 08:52:29 +00:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2018-08-17 21:01:11 +02:00
2022-02-23 11:57:35 +01:00
2017-11-02 11:10:55 +01:00
2017-03-02 08:42:38 +01:00
2017-11-02 11:10:55 +01:00
2023-03-16 18:11:12 +02:00
2022-10-07 12:15:21 +03:00
2019-07-10 09:14:22 -07:00
2017-05-16 08:44:22 -03:00
2022-10-07 11:19:36 +03:00
2018-10-03 17:00:48 -07:00
2021-05-22 10:57:41 +02:00
2018-12-08 13:03:35 +01:00
2021-07-20 16:17:33 +02:00
2021-07-20 16:17:33 +02:00
2017-06-08 17:36:03 +08:00
2017-11-02 11:10:55 +01:00
2022-04-11 08:52:28 +00:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2022-04-03 15:29:14 +00:00
2017-11-02 11:10:55 +01:00
2022-10-07 11:26:56 +03:00
2023-05-13 08:19:19 +00:00
2022-09-26 20:02:17 +03:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2021-07-12 17:55:19 +00:00
2018-09-05 09:26:35 +02:00
2022-06-29 08:06:55 +00:00
2023-02-01 00:32:00 +08:00
2017-11-02 11:10:55 +01:00
2018-02-25 11:08:01 +01:00
2023-02-01 00:32:00 +08:00
2017-11-02 11:10:55 +01:00
2017-03-02 08:42:34 +01:00
2022-01-22 14:28:43 +00:00
2017-03-02 08:42:27 +01:00
2023-08-25 09:53:00 +03:00
2022-07-08 09:13:29 +00:00
2022-09-14 19:56:21 +08:00
2017-11-02 11:10:55 +01:00
2022-10-07 11:19:36 +03:00
2022-02-07 09:39:55 +00:00
2022-02-07 09:39:21 +00:00
2018-05-09 22:53:15 -07:00
2022-10-07 11:27:02 +03:00
2022-10-07 11:27:02 +03:00
2023-02-14 12:58:06 +02:00
2021-07-20 16:17:47 +02:00
2022-07-08 09:13:29 +00:00
2022-07-08 09:13:29 +00:00
2023-02-14 12:58:08 +02:00
2017-11-02 11:10:55 +01:00
2021-05-26 09:34:25 +05:30
2022-09-26 20:02:19 +03:00
2023-09-17 13:34:14 +03:00
2020-06-22 11:22:58 +02:00
2020-06-22 11:22:58 +02:00
2022-07-08 09:16:54 +00:00
2017-11-02 11:10:55 +01:00
2022-02-07 09:39:53 +00:00
2021-10-17 10:08:32 +02:00
2019-01-13 10:01:07 +01:00
2023-09-02 11:18:02 +03:00
2018-12-08 13:03:35 +01:00
2020-07-27 11:04:03 +05:30
2022-10-07 11:27:42 +03:00
2017-05-08 17:15:10 -07:00
2020-02-14 01:31:11 +01:00
2022-07-08 09:13:29 +00:00
2022-10-07 11:27:42 +03:00
2017-05-08 17:15:10 -07:00
2020-03-05 09:58:19 -08:00
2017-07-12 16:26:00 -07:00
2021-08-16 12:27:20 +00:00
2017-07-21 09:38:30 +02:00
2022-04-28 07:14:51 +00:00
2023-08-25 09:53:00 +03:00
2017-10-22 03:14:07 +01:00
2017-10-22 03:14:07 +01:00
2019-07-23 10:53:47 -07:00
2018-03-09 11:30:09 -08:00
2017-11-02 11:10:55 +01:00
2023-03-06 10:36:49 +02:00
2017-06-05 16:59:05 +02:00
2023-09-17 13:33:10 +03:00
2017-11-02 11:10:55 +01:00
2017-08-15 09:02:07 -07:00