[dpdk-users] KNI with RTE_KNI_PREEMPT_DEFAULT=n causes CPU soft-lockup
junlee
lijun422 at gmail.com
Mon Nov 27 02:27:02 CET 2017
Hi,
We are testing KNI performance and finds the schedule_timeout_interruptible
causes extra latency for packets.
We tried to set RTE_KNI_PREEMPT_DEFAULT=n to reduce the latency, but ends
up with CPU soft-lockup.
Anybody knows how to make this work?
static int
kni_thread_single(void *data)
{
struct kni_net *knet = data;
int j;
struct kni_dev *dev;
while (!kthread_should_stop()) {
down_read(&knet->kni_list_lock);
for (j = 0; j < KNI_RX_LOOP_NUM; j++) {
list_for_each_entry(dev, &knet->kni_list_head, list) {
kni_net_rx(dev);
kni_net_poll_resp(dev);
}
}
up_read(&knet->kni_list_lock);
#ifdef RTE_KNI_PREEMPT_DEFAULT
/* reschedule out for a while */
schedule_timeout_interruptible(
usecs_to_jiffies(KNI_KTHREAD_RESCHEDULE_INTERVAL));
#endif
}
return 0;
}
Thanks.
More information about the users
mailing list