[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID:
<PAXPR04MB851036E98561133AF4945FA1883EA@PAXPR04MB8510.eurprd04.prod.outlook.com>
Date: Mon, 25 Aug 2025 01:36:13 +0000
From: Wei Fang <wei.fang@....com>
To: Shenwei Wang <shenwei.wang@....com>
CC: Clark Wang <xiaoning.wang@....com>, Stanislav Fomichev <sdf@...ichev.me>,
"imx@...ts.linux.dev" <imx@...ts.linux.dev>, "netdev@...r.kernel.org"
<netdev@...r.kernel.org>, "linux-kernel@...r.kernel.org"
<linux-kernel@...r.kernel.org>, dl-linux-imx <linux-imx@....com>, Andrew Lunn
<andrew+netdev@...n.ch>, "David S. Miller" <davem@...emloft.net>, Eric
Dumazet <edumazet@...gle.com>, Jakub Kicinski <kuba@...nel.org>, Paolo Abeni
<pabeni@...hat.com>, Alexei Starovoitov <ast@...nel.org>, Daniel Borkmann
<daniel@...earbox.net>, Jesper Dangaard Brouer <hawk@...nel.org>, John
Fastabend <john.fastabend@...il.com>
Subject: RE: [PATCH v2 net-next 4/5] net: fec: add change_mtu to support
dynamic buffer allocation
> > > +static int fec_change_mtu(struct net_device *ndev, int new_mtu) {
> > > + struct fec_enet_private *fep = netdev_priv(ndev);
> > > + int order, done;
> > > + bool running;
> > > +
> > > + order = get_order(new_mtu + ETH_HLEN + ETH_FCS_LEN);
> > > + if (fep->pagepool_order == order) {
> > > + WRITE_ONCE(ndev->mtu, new_mtu);
> >
> > No need to write ndev->mtu, same below, because __netif_set_mtu() will
> > help update it.
>
> It will only update the ndev->mtu if the driver doesn't have its own chang_mtu
> handler.
>
> int __netif_set_mtu(struct net_device *dev, int new_mtu) {
> const struct net_device_ops *ops = dev->netdev_ops;
>
> if (ops->ndo_change_mtu)
> return ops->ndo_change_mtu(dev, new_mtu);
>
> /* Pairs with all the lockless reads of dev->mtu in the stack */
> WRITE_ONCE(dev->mtu, new_mtu);
> return 0;
> }
Oh, I misread the code, so sorry.
Powered by blists - more mailing lists