Commit 275b1e88 authored by Di Zhu's avatar Di Zhu Committed by Jakub Kicinski

pktgen: fix misuse of BUG_ON() in pktgen_thread_worker()

pktgen create threads for all online cpus and bond these threads to
relevant cpu repecivtily. when this thread firstly be woken up, it
will compare cpu currently running with the cpu specified at the time
of creation and if the two cpus are not equal, BUG_ON() will take effect
causing panic on the system.
Notice that these threads could be migrated to other cpus before start
running because of the cpu hotplug after these threads have created. so the
BUG_ON() used here seems unreasonable and we can replace it with WARN_ON()
to just printf a warning other than panic the system.
Signed-off-by: default avatarDi Zhu <zhudi21@huawei.com>
Link: https://lore.kernel.org/r/20210125124229.19334-1-zhudi21@huawei.comSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent 6b2e04bc
...@@ -3464,7 +3464,7 @@ static int pktgen_thread_worker(void *arg) ...@@ -3464,7 +3464,7 @@ static int pktgen_thread_worker(void *arg)
struct pktgen_dev *pkt_dev = NULL; struct pktgen_dev *pkt_dev = NULL;
int cpu = t->cpu; int cpu = t->cpu;
BUG_ON(smp_processor_id() != cpu); WARN_ON(smp_processor_id() != cpu);
init_waitqueue_head(&t->queue); init_waitqueue_head(&t->queue);
complete(&t->start_done); complete(&t->start_done);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment