From mboxrd@z Thu Jan 1 00:00:00 1970 From: "David Harton (dharton)" Subject: Re: [PATCH] ixgbe: initialize scattered_rx during dev_configure Date: Wed, 23 Aug 2017 12:56:38 +0000 Message-ID: <6a28e8c0c8a64733a5f1bbbbe22c8c78@XCH-RCD-016.cisco.com> References: <20170823013333.40576-1-dharton@cisco.com> <2601191342CEEE43887BDE71AB977258489B4F98@irsmsx105.ger.corp.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Cc: "dev@dpdk.org" To: "Ananyev, Konstantin" , "wenzhuo.lu@intel.co" Return-path: Received: from alln-iport-7.cisco.com (alln-iport-7.cisco.com [173.37.142.94]) by dpdk.org (Postfix) with ESMTP id 446017D52 for ; Wed, 23 Aug 2017 14:56:40 +0200 (CEST) In-Reply-To: <2601191342CEEE43887BDE71AB977258489B4F98@irsmsx105.ger.corp.intel.com> Content-Language: en-US List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" > -----Original Message----- > From: Ananyev, Konstantin [mailto:konstantin.ananyev@intel.com] > Sent: Wednesday, August 23, 2017 6:32 AM > To: David Harton (dharton) ; wenzhuo.lu@intel.co > Cc: dev@dpdk.org > Subject: RE: [PATCH] ixgbe: initialize scattered_rx during dev_configure >=20 > Hi David, >=20 > > > > An application may want to manipulate the MTU settings of a device > > without having to start the device first. > > In order to remove the need to start the device the ixgbe/ixgbevf > > drivers need to initialize the scattered_rx value during > > dev_configure. >=20 > Not sure how that would help? > As I can see ixgbe_dev_mtu_set() uses rx_conf->enable_scatter to check is > multiseg RX allowed or not. Hi Konstantin, I see. The problem has been fixed already. Originally (v2.2), the check i= n ixgbe_dev_mtu_set() was made against dev->data->scattered_rx but it has b= een changed. Sorry, I'll rescind the request. Thanks! Dave > Konstantin >=20 > > > > Signed-off-by: David Harton > > --- > > drivers/net/ixgbe/ixgbe_ethdev.c | 14 ++++++++++++++ > > 1 file changed, 14 insertions(+) > > > > diff --git a/drivers/net/ixgbe/ixgbe_ethdev.c > > b/drivers/net/ixgbe/ixgbe_ethdev.c > > index 22171d8..e85bdb4 100644 > > --- a/drivers/net/ixgbe/ixgbe_ethdev.c > > +++ b/drivers/net/ixgbe/ixgbe_ethdev.c > > @@ -2372,6 +2372,13 @@ static int eth_ixgbevf_pci_remove(struct > rte_pci_device *pci_dev) > > intr->flags |=3D IXGBE_FLAG_NEED_LINK_UPDATE; > > > > /* > > + * Update scattered_rx so we can update MTU immediately > > + * following configure without having to start the device > > + */ > > + if (dev->data->dev_conf.rxmode.enable_scatter) > > + dev->data->scattered_rx =3D 1; > > + > > + /* > > * Initialize to TRUE. If any of Rx queues doesn't meet the bulk > > * allocation or vector Rx preconditions we will reset it. > > */ > > @@ -4949,6 +4956,13 @@ static int > > ixgbevf_dev_xstats_get_names(__rte_unused struct rte_eth_dev *dev, > > #endif > > > > /* > > + * Update scattered_rx so we can update MTU immediately > > + * following configure without having to start the device > > + */ > > + if (dev->data->dev_conf.rxmode.enable_scatter) > > + dev->data->scattered_rx =3D 1; > > + > > + /* > > * Initialize to TRUE. If any of Rx queues doesn't meet the bulk > > * allocation or vector Rx preconditions we will reset it. > > */ > > -- > > 1.8.3.1