From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by dpdk.org (Postfix) with ESMTP id AF8762C74 for ; Tue, 14 Mar 2017 14:52:33 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=intel.com; i=@intel.com; q=dns/txt; s=intel; t=1489499553; x=1521035553; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-id:content-transfer-encoding: mime-version; bh=DfZRP2HEcegBWwhgp5WtwQZBl5dzSdYIIUsRTqTbc4s=; b=nroedoPYb/LSKwqHeGRGxc2GFjBsC8tMqCYi7w8FGVkHfeXXmDAh1pa/ QodE5R01gbapucbG/pMHvUXc05qgBA==; Received: from orsmga005.jf.intel.com ([10.7.209.41]) by orsmga101.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 14 Mar 2017 06:52:23 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.36,164,1486454400"; d="scan'208";a="75258416" Received: from fmsmsx106.amr.corp.intel.com ([10.18.124.204]) by orsmga005.jf.intel.com with ESMTP; 14 Mar 2017 06:52:23 -0700 Received: from fmsmsx158.amr.corp.intel.com (10.18.116.75) by FMSMSX106.amr.corp.intel.com (10.18.124.204) with Microsoft SMTP Server (TLS) id 14.3.248.2; Tue, 14 Mar 2017 06:52:23 -0700 Received: from fmsmsx113.amr.corp.intel.com ([169.254.13.172]) by fmsmsx158.amr.corp.intel.com ([169.254.15.247]) with mapi id 14.03.0248.002; Tue, 14 Mar 2017 06:52:23 -0700 From: "Wiles, Keith" To: Adrien Mazarguil CC: "dev@dpdk.org" Thread-Topic: [PATCH 1/2] net/tap: remove redundant syscall on Tx Thread-Index: AQHSnMHRAe5L+vFDeUqOA6nePZWjzKGU0D0A Date: Tue, 14 Mar 2017 13:52:22 +0000 Message-ID: References: In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.255.28.43] Content-Type: text/plain; charset="us-ascii" Content-ID: Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Subject: Re: [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 13:52:34 -0000 > On Mar 14, 2017, at 8:51 PM, Adrien Mazarguil wrote: >=20 > Polling the Tx queue file descriptor before writing to it is not mandator= y > since it is configured as non-blocking. >=20 > Signed-off-by: Adrien Mazarguil > Acked-by: Pascal Mazon Acked-by: Keith Wiles > --- > drivers/net/tap/rte_eth_tap.c | 26 ++++++++------------------ > 1 file changed, 8 insertions(+), 18 deletions(-) >=20 > 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, uin= t16_t nb_pkts) > { > struct rte_mbuf *mbuf; > struct tx_queue *txq =3D queue; > - struct pollfd pfd; > uint16_t num_tx =3D 0; > unsigned long num_tx_bytes =3D 0; > int i, n; > @@ -250,26 +248,18 @@ pmd_tx_burst(void *queue, struct rte_mbuf **bufs, u= int16_t nb_pkts) > if (unlikely(nb_pkts =3D=3D 0)) > return 0; >=20 > - pfd.events =3D POLLOUT; > - pfd.fd =3D txq->fd; > for (i =3D 0; i < nb_pkts; i++) { > - n =3D poll(&pfd, 1, 0); > - > + /* copy the tx frame data */ > + mbuf =3D bufs[num_tx]; > + n =3D write(txq->fd, > + rte_pktmbuf_mtod(mbuf, void *), > + rte_pktmbuf_pkt_len(mbuf)); > if (n <=3D 0) > break; >=20 > - if (pfd.revents & POLLOUT) { > - /* copy the tx frame data */ > - mbuf =3D bufs[num_tx]; > - n =3D write(pfd.fd, rte_pktmbuf_mtod(mbuf, void*), > - rte_pktmbuf_pkt_len(mbuf)); > - if (n <=3D 0) > - break; > - > - num_tx++; > - num_tx_bytes +=3D mbuf->pkt_len; > - rte_pktmbuf_free(mbuf); > - } > + num_tx++; > + num_tx_bytes +=3D mbuf->pkt_len; > + rte_pktmbuf_free(mbuf); > } >=20 > txq->stats.opackets +=3D num_tx; > --=20 > 2.1.4 >=20 Regards, Keith