From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wm0-f49.google.com (mail-wm0-f49.google.com [74.125.82.49]) by dpdk.org (Postfix) with ESMTP id 434AFA10 for ; Tue, 14 Mar 2017 13:52:08 +0100 (CET) Received: by mail-wm0-f49.google.com with SMTP id t189so63063370wmt.1 for ; Tue, 14 Mar 2017 05:52:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=6wind-com.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id; bh=pJKfzxjuvsh7vFBLapOWRDtjrFneIJUwUlGBWTmv6Zs=; b=EuB2Kkvm4tglwm/ie7L76XYSlaJ32ZNM8KQGGo3YFztJ5fnrg1Pdqugt9jG2VWWKX2 6a7Yz6FWqUEcXuzrvcFhI67ALM+vMMcRWrwblIAg/jgQcDQE9qneNbWHlKbo7q3azlce fbKGLDXF3ovnY8Gks9/0QX6OsvrJ5bUN8544q8BcQb8+7r+Csf0WhXisYA5z3RcnA66S dj+7wEExG2MNhS/0aFpQ95z/738PqyzZn/F7SV5CSJVPnqcRBulBb9d21SDV5C/X6CJM g67DHuOIB8tiPwtW6ETLNA8mWgTdDB+yWfRF2mxd8Uz4Cxf4nMfzweVaX2UdYR2mG2Rq qlkQ== 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; bh=pJKfzxjuvsh7vFBLapOWRDtjrFneIJUwUlGBWTmv6Zs=; b=OzgeKEgpB+t+3GD1NDgt6wYA3uUydfKXS7kuEmIBEUqtM/URJ1XcDMADgdxDbxyKDL qm7S3OijVp26DhMXKR5Gx76+g+zBaRFkxsRU6N8ctfcYtvlMas+QbUbOSk0ILC06ezDF L2/UwDtWhHJftlk6rOAhZMKn8xdMXR7YjfHJ6A9S9L9ZF+Ey1L/MDpKYYR7mBG/dF2Yi rP+eC2OkvUWVHLWfHJOxebLrKYqS+eFlDulMhReF18rMS6N9eZYus2/aOtltNBGUdLtE JfEELbmeunmHjGEp48Tp4C/nuecOmnoom53jlC3S/7MdnS5+mG9lrr1klMOk7WlUINFZ /k/w== X-Gm-Message-State: AFeK/H0pvf7Iua+/jnfOan6EkNu/7aMyKUklQqKQo3fRZuTQb9DKTuKHFSpuGc1DngWLPdqW X-Received: by 10.28.193.197 with SMTP id r188mr14984818wmf.116.1489495927897; Tue, 14 Mar 2017 05:52:07 -0700 (PDT) Received: from 6wind.com (host.78.145.23.62.rev.coltfrance.com. [62.23.145.78]) by smtp.gmail.com with ESMTPSA id l21sm29031624wrl.59.2017.03.14.05.52.06 (version=TLS1_2 cipher=AES128-SHA bits=128/128); Tue, 14 Mar 2017 05:52:06 -0700 (PDT) From: Adrien Mazarguil To: Keith Wiles Cc: dev@dpdk.org Date: Tue, 14 Mar 2017 13:51:57 +0100 Message-Id: X-Mailer: git-send-email 2.1.4 Subject: [dpdk-dev] [PATCH 1/2] net/tap: remove redundant syscall on Tx X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 14 Mar 2017 12:52:08 -0000 Polling the Tx queue file descriptor before writing to it is not mandatory since it is configured as non-blocking. Signed-off-by: Adrien Mazarguil Acked-by: Pascal Mazon --- drivers/net/tap/rte_eth_tap.c | 26 ++++++++------------------ 1 file changed, 8 insertions(+), 18 deletions(-) diff --git a/drivers/net/tap/rte_eth_tap.c b/drivers/net/tap/rte_eth_tap.c index efc4426..c757a7c 100644 --- a/drivers/net/tap/rte_eth_tap.c +++ b/drivers/net/tap/rte_eth_tap.c @@ -43,7 +43,6 @@ #include #include #include -#include #include #include #include @@ -242,7 +241,6 @@ pmd_tx_burst(void *queue, struct rte_mbuf **bufs, uint16_t nb_pkts) { struct rte_mbuf *mbuf; struct tx_queue *txq = queue; - struct pollfd pfd; uint16_t num_tx = 0; unsigned long num_tx_bytes = 0; int i, n; @@ -250,26 +248,18 @@ pmd_tx_burst(void *queue, struct rte_mbuf **bufs, uint16_t nb_pkts) if (unlikely(nb_pkts == 0)) return 0; - pfd.events = POLLOUT; - pfd.fd = txq->fd; for (i = 0; i < nb_pkts; i++) { - n = poll(&pfd, 1, 0); - + /* copy the tx frame data */ + mbuf = bufs[num_tx]; + n = write(txq->fd, + rte_pktmbuf_mtod(mbuf, void *), + rte_pktmbuf_pkt_len(mbuf)); if (n <= 0) break; - if (pfd.revents & POLLOUT) { - /* copy the tx frame data */ - mbuf = bufs[num_tx]; - n = write(pfd.fd, rte_pktmbuf_mtod(mbuf, void*), - rte_pktmbuf_pkt_len(mbuf)); - if (n <= 0) - break; - - num_tx++; - num_tx_bytes += mbuf->pkt_len; - rte_pktmbuf_free(mbuf); - } + num_tx++; + num_tx_bytes += mbuf->pkt_len; + rte_pktmbuf_free(mbuf); } txq->stats.opackets += num_tx; -- 2.1.4