From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 6E61CA0553 for ; Mon, 17 Feb 2020 18:46:10 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 68BF71DAB3; Mon, 17 Feb 2020 18:46:10 +0100 (CET) Received: from mail-wm1-f66.google.com (mail-wm1-f66.google.com [209.85.128.66]) by dpdk.org (Postfix) with ESMTP id 6A0311DABA for ; Mon, 17 Feb 2020 18:46:08 +0100 (CET) Received: by mail-wm1-f66.google.com with SMTP id a5so203172wmb.0 for ; Mon, 17 Feb 2020 09:46:08 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=i0jOch8nh1yVMVaBhXLy59rtbun3bp1lnXjNfYvZeEY=; b=Tm4vm1l2FzqUILvuUqLKLccxTslVEIjCGXoh+tQ1SqkOONZ2YjeYRnE8/345374a82 6yoKTgusndi61rfqAmhtbDIWGqpEb5SpicycnsIX/jpB0pD8zyGf71JHeEp/wzyCREmC Xz/qzC6xSNbMS1jx60nIqigp6d1/XQeOI7MsEEajhDGB8Xjcwq7roBg3Q1u0Vy2TcKO0 7d5c3wMznNqeWYbsvtWPz4zfGhjt1mVWPbCAOmL0UYUWtvBshCcOEXxA+qvOlHSspLNW ziwMMuKiqHuvmEcA4Zw8Igz5vdR5Cx8TfFiYGTBWDHPiEr9kWXWNp03A1abLrSTWPM/X WsnQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=i0jOch8nh1yVMVaBhXLy59rtbun3bp1lnXjNfYvZeEY=; b=g8+zPkCit0qy/eqHpv2F+JJ6aEkTbX2gbyyMT03jSOBlWpLU3NP5mCcmo0SbTQwYU1 H1NhAekCae4fgRAhnsaqh6460vuReSDd27y8dcouT8MtQIv+3dPq/FgqbGp7DU8I6cAs K86WtEGc4V432dzGNYCOvx6Itp6bKUZYIxLrSTLcU/MXcisBMWXnoTfB6kc1rv8Di0AV /hiSz79mOmL87oylsuCfYMwsw35AljLlDc5aL/NZ00EhgdTXXzWF7/UDp9FGVhQEjXK/ iSKheZSWAEAghgThcfRYV5qdOw+rxayxL63Srn4iNJNnp3cjhJhQwxYOw3I5pSzqiTSk /gZQ== X-Gm-Message-State: APjAAAXe5MICIA3AkHhx2Zw57O0B/ipxJDa8EFluQclTNGWi+dWqtxb2 LILdMTELJPrps4Zhvi2gRVG2ZdyRURI= X-Google-Smtp-Source: APXvYqziLq8KcxZbuC6W3bvhGKQplzTH8mUkKDb3jWgd5tqgpSOCICcJ2EBJLBUTUxjIaMCu09j4xA== X-Received: by 2002:a1c:a752:: with SMTP id q79mr168120wme.64.1581961568157; Mon, 17 Feb 2020 09:46:08 -0800 (PST) Received: from localhost (userh634.uk.uudial.com. [194.69.103.7]) by smtp.gmail.com with ESMTPSA id x10sm1894399wrp.58.2020.02.17.09.46.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 17 Feb 2020 09:46:07 -0800 (PST) From: luca.boccassi@gmail.com To: Xiao Wang Cc: Harman Kalra , Liang Ma , David Hunt , dpdk stable Date: Mon, 17 Feb 2020 17:45:03 +0000 Message-Id: <20200217174546.25334-11-luca.boccassi@gmail.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200217174546.25334-1-luca.boccassi@gmail.com> References: <20200211112216.3929-190-luca.boccassi@gmail.com> <20200217174546.25334-1-luca.boccassi@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [dpdk-stable] patch 'examples/l3fwd-power: fix interrupt disable' has been queued to stable release 19.11.1 X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: stable-bounces@dpdk.org Sender: "stable" Hi, FYI, your patch has been queued to stable release 19.11.1 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 02/19/20. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Thanks. Luca Boccassi --- >From 7c93d05a5051e04ef7f7ab2d4411613f41ed92ce Mon Sep 17 00:00:00 2001 From: Xiao Wang Date: Mon, 20 Jan 2020 22:06:57 -0500 Subject: [PATCH] examples/l3fwd-power: fix interrupt disable [ upstream commit 49dcf7b98e87a5d2880693da4c09af11e58f3447 ] Since all related queues' interrupts are turned on before epoll, we need to turn off all the interrupts after wakeup. This patch fixes the issue of only turning off the interrupted queues. Fixes: b736d64787fc ("examples/l3fwd-power: disable Rx interrupt when waking up") Signed-off-by: Xiao Wang Tested-by: Harman Kalra Reviewed-by: Liang Ma Tested-by: Liang Ma Acked-by: David Hunt --- examples/l3fwd-power/main.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/examples/l3fwd-power/main.c b/examples/l3fwd-power/main.c index ffcc7ecf44..e9b2cb5b30 100644 --- a/examples/l3fwd-power/main.c +++ b/examples/l3fwd-power/main.c @@ -880,9 +880,6 @@ sleep_until_rx_interrupt(int num) port_id = ((uintptr_t)data) >> CHAR_BIT; queue_id = ((uintptr_t)data) & RTE_LEN2MASK(CHAR_BIT, uint8_t); - rte_spinlock_lock(&(locks[port_id])); - rte_eth_dev_rx_intr_disable(port_id, queue_id); - rte_spinlock_unlock(&(locks[port_id])); RTE_LOG(INFO, L3FWD_POWER, "lcore %u is waked up from rx interrupt on" " port %d queue %d\n", @@ -892,7 +889,7 @@ sleep_until_rx_interrupt(int num) return 0; } -static void turn_on_intr(struct lcore_conf *qconf) +static void turn_on_off_intr(struct lcore_conf *qconf, bool on) { int i; struct lcore_rx_queue *rx_queue; @@ -905,7 +902,10 @@ static void turn_on_intr(struct lcore_conf *qconf) queue_id = rx_queue->queue_id; rte_spinlock_lock(&(locks[port_id])); - rte_eth_dev_rx_intr_enable(port_id, queue_id); + if (on) + rte_eth_dev_rx_intr_enable(port_id, queue_id); + else + rte_eth_dev_rx_intr_disable(port_id, queue_id); rte_spinlock_unlock(&(locks[port_id])); } } @@ -1340,9 +1340,10 @@ start_rx: else { /* suspend until rx interrupt triggers */ if (intr_en) { - turn_on_intr(qconf); + turn_on_off_intr(qconf, 1); sleep_until_rx_interrupt( qconf->n_rx_queue); + turn_on_off_intr(qconf, 0); /** * start receiving packets immediately */ -- 2.20.1 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2020-02-17 17:00:15.651713311 +0000 +++ 0011-examples-l3fwd-power-fix-interrupt-disable.patch 2020-02-17 17:00:15.279950059 +0000 @@ -1,14 +1,15 @@ -From 49dcf7b98e87a5d2880693da4c09af11e58f3447 Mon Sep 17 00:00:00 2001 +From 7c93d05a5051e04ef7f7ab2d4411613f41ed92ce Mon Sep 17 00:00:00 2001 From: Xiao Wang Date: Mon, 20 Jan 2020 22:06:57 -0500 Subject: [PATCH] examples/l3fwd-power: fix interrupt disable +[ upstream commit 49dcf7b98e87a5d2880693da4c09af11e58f3447 ] + Since all related queues' interrupts are turned on before epoll, we need to turn off all the interrupts after wakeup. This patch fixes the issue of only turning off the interrupted queues. Fixes: b736d64787fc ("examples/l3fwd-power: disable Rx interrupt when waking up") -Cc: stable@dpdk.org Signed-off-by: Xiao Wang Tested-by: Harman Kalra @@ -20,10 +21,10 @@ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/examples/l3fwd-power/main.c b/examples/l3fwd-power/main.c -index e63abb1da8..c7fe0ec034 100644 +index ffcc7ecf44..e9b2cb5b30 100644 --- a/examples/l3fwd-power/main.c +++ b/examples/l3fwd-power/main.c -@@ -870,9 +870,6 @@ sleep_until_rx_interrupt(int num) +@@ -880,9 +880,6 @@ sleep_until_rx_interrupt(int num) port_id = ((uintptr_t)data) >> CHAR_BIT; queue_id = ((uintptr_t)data) & RTE_LEN2MASK(CHAR_BIT, uint8_t); @@ -33,7 +34,7 @@ RTE_LOG(INFO, L3FWD_POWER, "lcore %u is waked up from rx interrupt on" " port %d queue %d\n", -@@ -882,7 +879,7 @@ sleep_until_rx_interrupt(int num) +@@ -892,7 +889,7 @@ sleep_until_rx_interrupt(int num) return 0; } @@ -42,7 +43,7 @@ { int i; struct lcore_rx_queue *rx_queue; -@@ -895,7 +892,10 @@ static void turn_on_intr(struct lcore_conf *qconf) +@@ -905,7 +902,10 @@ static void turn_on_intr(struct lcore_conf *qconf) queue_id = rx_queue->queue_id; rte_spinlock_lock(&(locks[port_id])); @@ -54,7 +55,7 @@ rte_spinlock_unlock(&(locks[port_id])); } } -@@ -1330,9 +1330,10 @@ start_rx: +@@ -1340,9 +1340,10 @@ start_rx: else { /* suspend until rx interrupt triggers */ if (intr_en) {