Re: [GIT PULL 2/4] Kbuild updates for v4.21 part2

From: Arnd Bergmann
Date: Tue Jan 08 2019 - 03:53:37 EST


On Tue, Jan 8, 2019 at 1:43 AM Changbin Du <changbin.du@xxxxxxxxx> wrote:
>
> On Mon, Jan 07, 2019 at 01:32:56PM +0900, Masahiro Yamada wrote:
> > (+CC Changbin Du, Arnd Bergmann)
> >
> >
> >
> [...]
> > > This branch already added a couple of extra inline markers just to
> > > make code work reasonably. How many tens (or hundreds) got missed just
> > > because the build still works, but the lack of inlining means that we
> > > generate completely garbage code?
> >
> >
> > I do not have the exact number, but
> > my impression was "not so many".
> >
> > Changbin and Arnd might have better insight.
> > They were trying to eliminate potential problems beforehand.
> >
> > For example,
> > 7e17916b
> > 412dd15c
> > 08813e0e
> >
> Yes, the case is not so many. At the beginning, I also thought this could
> require incredible change. But after trying, just found it is not so bad. I have
> a couple of patches to fix the remaing warnings which adds 'inline' or '_init'
> markers for related functions.
>
> I promise that all warnings get fixed with new version. And since I only have
> coressponding setup to fully test x86 and ARM platform, I think we could make
> this new option depend on x86 or arm temparaly so untested platforms will
> not complain anymore.
>
> Linus, is this good for you? Thank you for revewing.

I actually never followed up on this in November, as I was busy trying to
get more of the y2038 work done. In my randconfig tree, I have a number
patches that fix individual drivers after your patches so I can get back to a
warning-free randconfig build overall, but I haven't had a chance to separate
out everything that is needed here from other randconfig fixes (e.g. gcc-9
and clang stuff).

I tried to get most changes into a single patch that only marks functions
inline, see diffstat below. If we want to go ahead with
CONFIG_NO_AUTO_INLINE, I can try to get that into a shape that
can be submitted with a proper changelog etc.

Arnd

commit 6985383a091f4be1a2695b0d20108998237651fa
Author: Arnd Bergmann <arnd@xxxxxxxx>
Date: Sat Nov 3 22:13:15 2018 +0100

make more functions inline

Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>

arch/x86/entry/vsyscall/vsyscall_64.c | 2 +-
arch/x86/kernel/cpu/microcode/intel.c | 2 +-
arch/x86/kernel/ftrace.c | 2 +-
arch/x86/kernel/hw_breakpoint.c | 6 +++---
arch/x86/kernel/quirks.c | 2 +-
drivers/clocksource/timer-nps.c | 6 +++---
drivers/dma/stm32-mdma.c | 20 ++++++++++----------
drivers/gpio/gpio-aspeed.c | 2 +-
drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c | 2 +-
drivers/infiniband/hw/mlx5/cq.c | 6 +++---
drivers/media/cec/cec-pin.c | 55
+++++++++++++++++++++++++++++++------------------------
drivers/mmc/host/sdhci-pci-core.c | 6 +++---
drivers/net/ethernet/broadcom/cnic.c | 18 +++++++++++++-----
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 5 +++--
drivers/net/ethernet/mellanox/mlx5/core/en_tc.c | 16 ++++++++++++----
drivers/net/wireless/ti/wlcore/sdio.c | 2 +-
drivers/pci/controller/pci-xgene.c | 2 +-
drivers/phy/socionext/phy-uniphier-usb3hs.c | 6 +++---
drivers/scsi/ufs/ufs-qcom.c | 2 +-
drivers/soc/qcom/wcnss_ctrl.c | 2 +-
drivers/staging/axis-fifo/axis-fifo.c | 4 ++--
drivers/staging/comedi/drivers/pcl816.c | 2 +-
drivers/staging/comedi/drivers/pcl818.c | 2 +-
drivers/thermal/tegra/soctherm.c | 2 +-
drivers/thermal/tegra/tegra-bpmp-thermal.c | 4 ++--
drivers/tty/serial/sh-sci.c | 4 ++--
drivers/video/fbdev/i740fb.c | 2 +-
net/vmw_vsock/vmci_transport.c | 2 +-
28 files changed, 105 insertions(+), 81 deletions(-)