Stanislav Fomichev
9cacf81f81
bpf: Remove extra lock_sock for TCP_ZEROCOPY_RECEIVE
...
Add custom implementation of getsockopt hook for TCP_ZEROCOPY_RECEIVE.
We skip generic hooks for TCP_ZEROCOPY_RECEIVE and have a custom
call in do_tcp_getsockopt using the on-stack data. This removes
3% overhead for locking/unlocking the socket.
Without this patch:
3.38% 0.07% tcp_mmap [kernel.kallsyms] [k] __cgroup_bpf_run_filter_getsockopt
|
--3.30%--__cgroup_bpf_run_filter_getsockopt
|
--0.81%--__kmalloc
With the patch applied:
0.52% 0.12% tcp_mmap [kernel.kallsyms] [k] __cgroup_bpf_run_filter_getsockopt_kern
Note, exporting uapi/tcp.h requires removing netinet/tcp.h
from test_progs.h because those headers have confliciting
definitions.
Signed-off-by: Stanislav Fomichev <sdf@google.com >
Signed-off-by: Alexei Starovoitov <ast@kernel.org >
Acked-by: Martin KaFai Lau <kafai@fb.com >
Link: https://lore.kernel.org/bpf/20210115163501.805133-2-sdf@google.com
2021-01-20 14:23:00 -08:00
..
2020-03-25 11:50:48 +01:00
2020-12-10 13:11:30 -08:00
2021-01-14 18:34:29 -08:00
2020-06-28 10:06:53 -07:00
2020-12-04 22:32:40 +01:00
2020-08-13 16:45:41 -07:00
2021-01-20 14:23:00 -08:00
2020-09-03 17:14:40 -07:00
2020-11-05 18:37:31 -08:00
2020-09-30 12:30:46 -07:00
2020-09-29 12:21:23 -07:00
2021-01-12 17:23:47 -08:00
2020-11-09 16:18:36 -08:00
2020-11-05 18:37:30 -08:00
2020-11-05 18:37:30 -08:00
2021-01-20 14:14:09 -08:00
2020-07-31 00:43:49 +02:00
2020-03-02 17:00:41 -08:00
2021-01-14 18:34:29 -08:00
2020-03-02 17:00:41 -08:00
2020-08-01 20:38:28 -07:00
2020-07-02 16:09:01 +02:00
2021-01-20 14:23:00 -08:00
2020-07-02 16:09:01 +02:00
2020-10-07 18:50:27 -07:00
2020-08-13 16:45:41 -07:00
2021-01-08 13:39:24 -08:00
2020-12-03 17:38:21 -08:00
2020-08-01 23:10:42 -07:00
2020-09-21 16:18:00 -07:00
2020-05-01 10:36:32 -07:00
2020-07-01 09:06:12 +02:00
2020-06-30 22:21:29 +02:00
2020-03-04 13:41:06 -08:00
2020-09-29 13:09:24 -07:00
2020-03-04 13:41:06 -08:00
2020-05-09 00:48:20 +02:00
2020-06-30 10:46:39 -07:00
2020-08-13 16:45:41 -07:00
2020-03-30 15:00:30 -07:00
2020-07-25 20:16:35 -07:00
2020-09-03 17:33:31 -07:00
2020-08-13 16:45:41 -07:00
2020-11-05 20:04:46 -08:00
2020-04-28 19:48:05 -07:00
2020-05-09 00:48:20 +02:00
2020-10-19 15:57:42 -07:00
2021-01-12 17:24:30 -08:00
2020-10-02 14:59:25 -07:00
2020-09-03 17:14:40 -07:00
2020-03-02 22:06:27 -08:00
2020-07-02 16:09:01 +02:00
2020-11-05 19:55:57 -08:00
2020-05-09 00:48:20 +02:00
2020-06-22 22:22:59 +02:00
2020-09-15 18:28:27 -07:00
2020-08-11 15:36:45 +02:00
2020-03-04 13:41:06 -08:00
2021-01-20 14:14:05 -08:00
2021-01-20 14:10:35 -08:00
2020-09-30 23:21:06 -07:00
2020-08-21 14:26:55 -07:00
2020-07-25 20:16:35 -07:00
2020-10-06 11:10:20 -07:00
2020-05-09 00:48:20 +02:00
2020-05-09 00:48:20 +02:00
2020-11-19 11:58:15 -08:00
2020-08-13 16:45:41 -07:00
2020-05-09 00:48:20 +02:00
2020-09-28 21:52:36 +02:00
2020-09-03 17:14:40 -07:00
2020-09-30 18:11:40 -07:00
2020-12-01 20:21:45 -08:00
2020-12-01 20:21:45 -08:00
2020-07-25 20:37:02 -07:00
2020-03-09 22:34:59 +01:00
2020-03-05 14:02:41 -08:00
2020-08-06 16:58:42 -07:00
2020-05-09 00:48:20 +02:00
2020-09-18 22:54:52 +02:00
2020-08-11 15:36:51 +02:00
2020-11-12 18:39:28 -08:00
2020-08-13 16:45:41 -07:00
2020-06-01 14:38:21 -07:00
2020-07-13 17:07:43 -07:00
2020-09-29 13:21:23 -07:00
2020-09-29 11:43:43 -07:00
2021-01-20 14:23:00 -08:00
2020-03-13 21:37:06 +01:00
2020-07-16 20:57:09 +02:00
2020-11-16 22:19:07 +01:00
2021-01-20 14:23:00 -08:00
2020-05-09 00:48:20 +02:00
2020-08-06 16:58:42 -07:00
2020-11-09 22:15:23 +01:00
2020-09-17 19:56:07 -07:00
2020-11-09 16:18:36 -08:00
2020-07-02 16:09:01 +02:00
2020-12-03 17:23:24 -08:00
2020-08-20 16:02:36 +02:00
2020-11-18 01:36:27 +01:00
2020-11-14 08:17:27 -08:00
2020-11-26 00:25:47 +01:00
2021-01-12 16:07:57 +01:00
2021-01-08 13:39:40 -08:00
2020-09-28 17:20:28 -07:00
2020-10-09 22:03:06 +02:00
2020-11-13 01:42:11 +01:00
2020-09-29 13:09:24 -07:00
2020-07-13 16:55:49 -07:00
2020-07-08 01:07:36 +02:00
2020-08-13 16:45:41 -07:00
2020-03-17 19:29:12 +01:00
2020-05-14 21:21:57 -07:00
2020-04-15 13:26:08 +02:00
2020-05-09 00:48:20 +02:00
2020-07-16 17:00:32 +02:00
2020-06-09 11:36:19 -07:00
2020-04-08 01:35:24 +02:00
2020-08-01 20:38:28 -07:00
2020-10-02 16:46:20 +02:00
2020-05-09 00:48:20 +02:00