Caleb Sander Mateos
225dc96f35
ublk: inline __ublk_ch_uring_cmd()
...
ublk_ch_uring_cmd_local() is a thin wrapper around __ublk_ch_uring_cmd()
that copies the ublksrv_io_cmd from user-mapped memory to the stack
using READ_ONCE(). This ublksrv_io_cmd is passed by pointer to
__ublk_ch_uring_cmd() and __ublk_ch_uring_cmd() is a large function
unlikely to be inlined, so __ublk_ch_uring_cmd() will have to load the
ublksrv_io_cmd fields back from the stack. Inline __ublk_ch_uring_cmd()
into ublk_ch_uring_cmd_local() and load the ublksrv_io_cmd fields into
local variables with READ_ONCE(). This allows the compiler to delay
loading the fields until they are needed and choose whether to store
them in registers or on the stack.
Signed-off-by: Caleb Sander Mateos <csander@purestorage.com >
Reviewed-by: Ming Lei <ming.lei@redhat.com >
Link: https://lore.kernel.org/r/20250808153251.282107-1-csander@purestorage.com
Signed-off-by: Jens Axboe <axboe@kernel.dk >
2025-09-03 17:35:54 -06:00
..
2025-08-20 16:08:49 +02:00
2025-08-21 20:47:23 +02:00
2025-07-29 09:52:01 -07:00
2025-09-03 15:15:43 -06:00
2025-08-09 08:40:28 +03:00
2025-08-07 10:07:06 +02:00
2025-09-03 17:35:54 -06:00
2025-08-15 10:13:26 -04:00
2025-07-29 11:13:27 -07:00
2025-07-22 19:10:17 -06:00
2025-08-19 12:55:16 +02:00
2025-08-07 07:38:25 +03:00
2025-07-31 13:36:27 -07:00
2025-07-29 14:02:53 -07:00
2025-08-19 12:57:01 +02:00
2025-08-11 21:49:47 +02:00
2025-08-18 19:04:25 +02:00
2025-07-31 09:45:28 -07:00
2025-08-03 16:23:09 -07:00
2025-08-01 12:35:12 -07:00
2025-07-30 19:26:49 -07:00
2025-08-04 17:22:55 -07:00
2025-07-29 16:30:38 -07:00
2025-08-03 21:20:15 +09:00
2025-08-09 18:10:01 +03:00
2025-08-19 12:54:45 +02:00
2025-07-29 12:15:39 -07:00
2025-08-12 15:40:28 +02:00
2025-08-23 07:24:52 +10:00
2025-08-07 10:07:06 +02:00
2025-07-30 17:14:01 -07:00
2025-08-07 10:07:06 +02:00
2025-08-19 20:21:03 -01:00
2025-07-31 02:25:17 +02:00
2025-08-11 21:43:26 +02:00
2025-08-18 19:22:18 +01:00
2025-08-13 07:22:18 -04:00
2025-08-07 10:07:06 +02:00
2025-07-29 09:52:01 -07:00
2025-08-22 17:24:48 -04:00
2025-08-06 17:00:40 +02:00
2025-08-07 10:07:06 +02:00
2025-08-07 23:49:56 -05:00
2025-07-16 14:17:07 +02:00
2025-09-03 15:15:43 -06:00
2025-08-07 10:07:06 +02:00
2025-07-22 22:47:00 +02:00
2025-09-03 15:15:43 -06:00
2025-08-13 02:59:28 -04:00
2025-08-07 10:07:06 +02:00
2025-08-07 10:07:06 +02:00
2025-09-03 15:15:43 -06:00
2025-08-19 12:57:34 +02:00
2025-08-13 02:59:29 -04:00
2025-07-28 17:16:12 -07:00
2025-08-21 07:58:33 -07:00
2025-08-13 02:59:29 -04:00
2025-09-03 15:15:43 -06:00
2025-07-29 12:15:39 -07:00
2025-07-30 17:14:01 -07:00
2025-07-23 11:52:48 +02:00
2025-08-12 13:45:01 -05:00
2025-08-01 12:31:50 -07:00
2025-08-07 10:07:06 +02:00
2025-08-12 15:23:09 +03:00
2025-07-23 12:12:16 +02:00
2025-07-31 21:39:01 -07:00
2025-07-28 23:21:28 -07:00
2025-08-12 14:17:35 -07:00
2025-08-07 10:07:06 +02:00
2025-08-19 16:51:03 +01:00
2025-08-01 15:02:25 -07:00
2025-07-31 13:36:27 -07:00
2025-08-01 15:02:25 -07:00
2025-08-03 20:17:34 -07:00
2025-09-03 15:15:43 -06:00
2025-09-03 15:15:43 -06:00
2025-08-11 12:24:43 +02:00
2025-08-01 11:09:27 -07:00
2025-08-21 16:28:00 -04:00
2025-08-07 10:07:06 +02:00
2025-08-07 10:07:06 +02:00
2025-08-06 15:44:25 +03:00
2025-07-29 12:15:39 -07:00
2025-07-21 16:33:43 +02:00
2025-08-11 16:16:36 +02:00
2025-08-18 22:25:52 -04:00
2025-08-19 16:12:13 +02:00
2025-08-01 09:11:08 -04:00
2025-08-07 07:32:50 +03:00
2025-08-05 05:57:40 -04:00
2025-08-09 08:15:43 +03:00
2025-08-15 17:05:39 +02:00
2025-08-01 14:17:48 -07:00
2025-07-28 12:07:08 +02:00
2025-08-20 15:47:43 +02:00
2025-07-30 19:26:49 -07:00