From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wm0-f45.google.com (mail-wm0-f45.google.com [74.125.82.45]) by dpdk.org (Postfix) with ESMTP id 735DE1D90 for ; Tue, 28 Nov 2017 03:24:37 +0100 (CET) Received: by mail-wm0-f45.google.com with SMTP id b189so38707051wmd.5 for ; Mon, 27 Nov 2017 18:24:37 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=beFUQ8yjNuxEjVhwPO2aCiCHwuAVm3cLhYbcoY9NRso=; b=WXotg7Zb4oA+EBClJOXKqBKFr/nm54RuAylFUWb2g948v3O/uQf8Ts/oEaU61co9wq 83YNWX4AcJWyLXL4bXsmOHxTq1bRNtZR77x4NYiLydlYM0PhUURTrOfnSOrZSDcAhSSO pImhUS6quduD9yf8xCNnTZ1PL6/eFnWuHWUMooH8QYEGqkb5wRQU5z2T63gykJYMeUgu 18POE0OeDFUaDki2ENch4WSDIBiIONo0m+KLTyMmrTxZ89CCwT+pevITQyrDrQnByk94 nuYNxsfhA8un8cbfAo2DSGpucEYuzck41ZTIoxoE3ArVCDDScwlhY3Z+sZQk3Uj5YUTM wkvw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=beFUQ8yjNuxEjVhwPO2aCiCHwuAVm3cLhYbcoY9NRso=; b=IBXZmqDu3zmqXg3jF+k+tNToWqDiRSqxA8gzlslXeg87cB370zyX/fW/ZfiMJA25qS KrhqDsiqGLV/Sm2jf4zTFf8XF8lgS1+lzNHiAH+dA/25ipbqMU9LTMq61tFD3TZuGGZg qRutzLazt5P265kEOd90d5qV8CHVcmFsv54HzhCDRMszjUxLAVj0+feMx9YFZLrmYp6l 2PyCO8T66KBE1DRyHZX6iZKwYretjwqjYB1yPKoyPhB3U75SmLjUC/SLk3Oe1FSfTlBi jzrPapCYRM0JMCY5pq6kF8Jsv8r5hbwEeZFMTcErk2WCmpffKpN5SNdCiFVW1q9312y9 veyQ== X-Gm-Message-State: AJaThX70AO2EGgctUBS+oBaukV3vJQPF5MMfivjN6IN1fagE7hEWMriI 5NVAXGPGJaQmUHDBTXyNaCqzepa1AELx4iGOjTYCGw== X-Google-Smtp-Source: AGs4zMbuyPHYH4HjH5Zhbwo7DhBwwE99mi95hz5EdGZb7mP2h1qXASLYg8aFF2gR9XZ5bzDGSFV2EHqzEnm2ZnHGHHA= X-Received: by 10.28.108.11 with SMTP id h11mr16978909wmc.28.1511835877161; Mon, 27 Nov 2017 18:24:37 -0800 (PST) MIME-Version: 1.0 Received: by 10.223.188.67 with HTTP; Mon, 27 Nov 2017 18:24:36 -0800 (PST) In-Reply-To: References: From: junlee Date: Tue, 28 Nov 2017 10:24:36 +0800 Message-ID: To: Jay Rolette Cc: users Content-Type: text/plain; charset="UTF-8" X-Content-Filtered-By: Mailman/MimeDel 2.1.15 Subject: Re: [dpdk-users] KNI with RTE_KNI_PREEMPT_DEFAULT=n causes CPU soft-lockup X-BeenThere: users@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK usage discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 28 Nov 2017 02:24:37 -0000 We also tried to turn off the watchdog, then we got RCU stall. INFO: rcu_sched self-detected stall on CPU Is there any system configuration that should be made before setting RTE_KNI_PREEMPT_DEFAULT to n? 2017-11-27 20:49 GMT+08:00 junlee : > Hi Jay, > > Thanks. > We have read the thread before, increasing HZ to 1000 helps, but we are > looking for latency even less than 1ms. > The DPDK version is 17.05. > > The kernel preempt setting is: > CONFIG_PREEMPT_NONE=y > # CONFIG_PREEMPT_VOLUNTARY is not set > # CONFIG_PREEMPT is not set > > Seems the watchdog/x process could not get chance to run > when schedule_timeout_interruptible() is not called. > > Thanks. > BR//Wendy > > 2017-11-27 20:36 GMT+08:00 Jay Rolette : > >> That shouldn't cause soft-lockups, but IIRC, there have been KNI bugs in >> that past that would. Probably worth checking whatever version of DPDK you >> are running vs. the tree for relevant fixes. >> >> Given what you are looking into, this thread may be of interest: >> >> http://dpdk.org/ml/archives/dev/2015-June/018858.html >> >> Jay >> >> On Sun, Nov 26, 2017 at 7:27 PM, junlee wrote: >> >>> 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. >>> >> >> >