Lorenzo Bianconi
c576b9c77b
bpf: cpumap: Fix possible rcpu kthread hung
...
Fix the following cpumap kthread hung. The issue is currently occurring
when __cpu_map_load_bpf_program fails (e.g if the bpf prog has not
BPF_XDP_CPUMAP as expected_attach_type)
$./test_progs -n 101
101/1 cpumap_with_progs:OK
101 xdp_cpumap_attach:OK
Summary: 1/1 PASSED, 0 SKIPPED, 0 FAILED
[ 369.996478] INFO: task cpumap/0/map:7:205 blocked for more than 122 seconds.
[ 369.998463] Not tainted 5.8.0-rc4-01472-ge57892f50a07 #212
[ 370.000102] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
[ 370.001918] cpumap/0/map:7 D 0 205 2 0x00004000
[ 370.003228] Call Trace:
[ 370.003930] __schedule+0x5c7/0xf50
[ 370.004901] ? io_schedule_timeout+0xb0/0xb0
[ 370.005934] ? static_obj+0x31/0x80
[ 370.006788] ? mark_held_locks+0x24/0x90
[ 370.007752] ? cpu_map_bpf_prog_run_xdp+0x6c0/0x6c0
[ 370.008930] schedule+0x6f/0x160
[ 370.009728] schedule_preempt_disabled+0x14/0x20
[ 370.010829] kthread+0x17b/0x240
[ 370.011433] ? kthread_create_worker_on_cpu+0xd0/0xd0
[ 370.011944] ret_from_fork+0x1f/0x30
[ 370.012348]
Showing all locks held in the system:
[ 370.013025] 1 lock held by khungtaskd/33:
[ 370.013432] #0 : ffffffff82b24720 (rcu_read_lock){....}-{1:2}, at: debug_show_all_locks+0x28/0x1c3
[ 370.014461] =============================================
Fixes: 9216477449f3 ("bpf: cpumap: Add the possibility to attach an eBPF program to cpumap")
Reported-by: Jakub Sitnicki <jakub@cloudflare.com>
Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Tested-by: Jakub Sitnicki <jakub@cloudflare.com>
Reviewed-by: Jakub Sitnicki <jakub@cloudflare.com>
Link: https://lore.kernel.org/bpf/e54f2aabf959f298939e5507b09c48f8c2e380be.1595170625.git.lorenzo@kernel.org
2020-07-21 09:15:28 -07:00
..
2020-07-21 09:15:28 -07:00
2020-07-07 13:34:11 -07:00
2020-04-07 10:43:42 -07:00
2020-06-26 15:41:40 +01:00
2020-07-10 18:16:22 -07:00
2020-07-01 08:22:08 -07:00
2020-06-14 01:57:21 +09:00
2020-06-14 01:57:21 +09:00
2020-06-11 20:04:01 +02:00
2020-05-11 00:31:38 +02:00
2020-06-13 10:05:47 -07:00
2020-06-14 01:57:21 +09:00
2020-06-21 20:47:20 -07:00
2020-07-05 12:21:28 -07:00
2020-06-28 10:37:39 -07:00
2020-06-13 10:05:47 -07:00
2020-07-13 16:55:49 -07:00
2020-03-25 11:50:48 +01:00
2020-06-09 09:39:14 -07:00
2020-03-23 18:19:06 +01:00
2020-04-06 08:58:42 -07:00
2020-06-02 17:13:37 -07:00
2020-04-22 15:23:10 -04:00
2020-04-22 15:23:10 -04:00
2020-05-20 18:09:19 -04:00
2020-05-01 12:35:21 +10:00
2020-02-04 03:05:26 +00:00
2020-06-11 15:14:36 +02:00
2020-05-15 11:44:34 -07:00
2020-06-03 13:06:42 -07:00
2020-04-15 11:21:54 +02:00
2020-05-20 14:44:21 -05:00
2020-07-07 11:58:59 -05:00
2020-04-07 10:43:42 -07:00
2020-07-14 12:18:01 -07:00
2020-06-09 09:39:14 -07:00
2020-06-06 23:42:01 +09:00
2020-06-02 10:59:11 -07:00
2020-06-08 11:05:56 -07:00
2020-05-28 10:54:15 +02:00
2020-07-08 15:59:57 -07:00
2020-03-25 10:04:01 -05:00
2019-12-08 14:37:36 +01:00
2020-06-10 19:14:17 -07:00
2020-01-08 16:32:55 +00:00
2020-06-26 00:27:36 -07:00
2020-01-08 16:32:55 +00:00
2020-01-08 16:32:55 +00:00
2020-04-10 15:36:22 -07:00
2020-07-08 16:00:22 -07:00
2020-06-17 10:57:41 -07:00
2020-04-27 02:07:40 -04:00
2020-07-04 09:34:32 -05:00
2020-07-09 13:09:30 -07:00
2020-06-02 10:59:12 -07:00
2020-06-17 00:33:12 +02:00
2020-06-18 17:09:54 +10:00
2020-06-11 15:14:36 +02:00
2020-06-03 16:27:18 -07:00
2020-04-30 06:40:14 -05:00
2020-02-04 03:05:26 +00:00
2020-01-18 13:51:39 +01:00
2020-05-30 10:34:03 -07:00
2020-06-09 09:39:14 -07:00
2020-05-27 11:10:05 +02:00
2019-12-25 10:41:20 +01:00
2020-06-04 16:14:56 +01:00
2020-04-27 02:07:40 -04:00
2020-06-30 12:18:08 -06:00
2020-06-28 17:01:20 +02:00
2020-06-11 15:15:24 +02:00
2020-01-17 10:19:21 +01:00
2020-06-14 11:39:31 -07:00
2019-11-26 13:03:56 -06:00
2020-01-09 16:42:29 -07:00
2020-06-08 11:05:56 -07:00
2020-06-30 12:18:08 -06:00
2019-12-04 15:18:39 +01:00
2020-03-30 18:06:39 -07:00
2019-12-18 18:07:31 +01:00
2020-04-07 21:51:27 +02:00
2020-07-04 09:35:36 -05:00
2020-02-07 15:34:12 +01:00
2020-05-09 13:57:12 +02:00
2020-06-04 19:06:24 -07:00
2020-07-07 11:58:59 -05:00
2020-04-27 02:07:40 -04:00
2020-05-09 13:57:12 +02:00
2020-06-13 09:56:21 -07:00
2020-06-08 11:05:56 -07:00
2020-06-17 10:57:41 -07:00