RE: [PATCH V2 net-next 0/2] net: fec: fix TX bandwidth fluctuations

From: Joakim Zhang
Date: Fri Jun 18 2021 - 04:11:08 EST



Hi Andrew,

> -----Original Message-----
> From: Andrew Lunn <andrew@xxxxxxx>
> Sent: 2021年6月17日 21:04
> To: Joakim Zhang <qiangqing.zhang@xxxxxxx>
> Cc: David Miller <davem@xxxxxxxxxxxxx>; kuba@xxxxxxxxxx;
> frieder.schrempf@xxxxxxxxxx; netdev@xxxxxxxxxxxxxxx;
> linux-kernel@xxxxxxxxxxxxxxx
> Subject: Re: [PATCH V2 net-next 0/2] net: fec: fix TX bandwidth fluctuations
>
> On Thu, Jun 17, 2021 at 11:40:58AM +0000, Joakim Zhang wrote:
> >
> > Hi Andrew,
> >
> > > -----Original Message-----
> > > From: Andrew Lunn <andrew@xxxxxxx>
> > > Sent: 2021年6月16日 21:06
> > > To: Joakim Zhang <qiangqing.zhang@xxxxxxx>
> > > Cc: David Miller <davem@xxxxxxxxxxxxx>; kuba@xxxxxxxxxx;
> > > frieder.schrempf@xxxxxxxxxx; netdev@xxxxxxxxxxxxxxx;
> > > linux-kernel@xxxxxxxxxxxxxxx
> > > Subject: Re: [PATCH V2 net-next 0/2] net: fec: fix TX bandwidth
> > > fluctuations
> > >
> > > > I try below build options, also can't reproduce this issue, so
> > > > really don't know
> > > how to fix it.
> > > >
> > > > make ARCH=arm64 distclean
> > > > make ARCH=arm64 allmodconfig
> > > > make -j8 ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- W=1 / make
> > > > -j8
> > > ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- W=2 / make -j8
> > > ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- W=3
> > > >
> > > > I saw many unrelated warnings...
> > >
> > > Then it could be sparse. Install sparse and use C=1.
> >
> > After applying the patch #2, I tried to use C=1 yesterday, I double check it
> today, still no warnings. Anything I missing?
> >
> > $ make -j8 ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- W=1,C=1
> > CALL scripts/atomic/check-atomics.sh
> > CALL scripts/checksyscalls.sh
> > CHK include/generated/compile.h
> > CHK kernel/kheaders_data.tar.xz
> > CC [M] drivers/net/ethernet/freescale/fec_main.o
> > LD [M] drivers/net/ethernet/freescale/fec.o
> > MODPOST modules-only.symvers
> > GEN Module.symvers
> > CC [M] drivers/net/ethernet/freescale/fec.mod.o
> > LD [M] drivers/net/ethernet/freescale/fec.ko
> >
> > Best Regards,
> > Joakim Zhang
> > > Andrew
>
>
> If you look at
> https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fpatchw
> ork.hopto.org%2Fstatic%2Fnipa%2F498729%2F12315211%2Fbuild_32bit%2Fst
> dout&amp;data=04%7C01%7Cqiangqing.zhang%40nxp.com%7Ce966882aff15
> 41ed54c108d931906ad2%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C0
> %7C637595318610458379%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjA
> wMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&amp;s
> data=0o34i6pkvqBN1hPApz5Ja8CHjtqn8iwQB8whxg0p8Rw%3D&amp;reserved
> =0
>
> you see:
>
> Kernel: arch/x86/boot/bzImage is ready (#9396)
>
> So it is building for 32 bit x86. So try
>
> make -j8 ARCH=i386 W=1 C=1
>
> Assuming your host is an x86 machine.

Much thanks.

$ git am 0002-net-fec-add-ndo_select_queue-to-fix-TX-bandwidth-flu.patch
Applying: net: fec: add ndo_select_queue to fix TX bandwidth fluctuations
$ make -j8 ARCH=i386 W=1,C=1
CALL scripts/atomic/check-atomics.sh
CALL scripts/checksyscalls.sh
CHK include/generated/compile.h
CHK kernel/kheaders_data.tar.xz
CC [M] drivers/net/ethernet/freescale/fec_main.o
LD [M] drivers/net/ethernet/freescale/fec.o
MODPOST modules-only.symvers
Kernel: arch/x86/boot/bzImage is ready (#1)
GEN Module.symvers
CC [M] drivers/net/ethernet/freescale/fec.mod.o
LD [M] drivers/net/ethernet/freescale/fec.ko

Unfortunately, I still can't see warnings after changing to build x86 image, a strange phenomenon, "W=1 C=1" seems not work, "W=1,C=1" can work.
I also save all of the build logs to double check, there is no build warnings related to FEC driver.

Best Regards,
Joakim Zhang
> Andrew