From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933478AbcIVLjF (ORCPT ); Thu, 22 Sep 2016 07:39:05 -0400 Received: from mout.kundenserver.de ([212.227.17.13]:61449 "EHLO mout.kundenserver.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751895AbcIVLjB (ORCPT ); Thu, 22 Sep 2016 07:39:01 -0400 From: Arnd Bergmann To: linux-kernel@vger.kernel.org Cc: "kernelci. org bot" , Mathieu Poirier , Binoy Jayan , linux-kernel@vger.kernel.org, Greg KH , "broonie@linaro.org" Subject: kernelci build/boot results on -rt kernels Date: Thu, 22 Sep 2016 13:38:56 +0200 Message-ID: <6631953.vAiJeMWQ0T@wuerfel> User-Agent: KMail/5.1.3 (Linux/4.4.0-34-generic; KDE/5.18.0; x86_64; ; ) MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" X-Provags-ID: V03:K0:msM09bJZJudt8uHO8jX3taqLa2caHtU3GQ2WzrOYK6Ad/V3U6Ox cV1ERTEyb2XWS7f/T9QMdLbMYEY3mYT2c+LnsQtoUKYR8aQPjmZ6kZD091zGs9a2YIP2xu0 //K1IG8xAfmplClr46lcBtWDgIwsBleBFs9LXb3rYJU3rM+OE7FmUK3J5Vs391LkP0YEWGh iy7zgBw/DZ+pUzEuEIKYg== X-UI-Out-Filterresults: notjunk:1;V01:K0:0MzoCBwH6TY=:4WMxs6tqOnRB9QsC5vdcbf UeTxUN6+tzEVZ7wuG0KHs4ATm87iB3kyT2DrzVrLtgR8vISE0tRh4rPxAJZoL9tXNGXp4lkOK CVe3BF64ixdEWAp0BcVt9reFFW/tEZrPBDwHkN4hOOEBtNIxiXOJZlU4T5zpeu2ArYAAnlys4 55VFci3Wgn+n5us2hgfAcEhrg4vZ3KxRWbBWhEODjpP82hDdsFKAa7z4lrJY9llHFGuLVDMq6 x2zLMsTF2EuayMvI+Kxlg35tJYQoz783UAEIcU3+/kitwQY585YRavrpQQFz6YH3DOmmiWKCz av0LJl9is2fx4JIHCTgbyrDib4DlFrJf7bXudp10oH7Peu/2+fhwcXza9VLNtkjC1K8s+LN9F WWevW/ibrQCmVS65/tZCh5ezMJ7FbK2Vzmb4N44DaQq6TXKwZ1+nJRFfZY+Q9sglrOAgxAqAO W4CljPqCsHXpSdfVCi/YaEs922ma17xBajoVu1Fxk3DBHIsIdXqoJzTvE7ynXHPQ3Sx3tRcP9 bTvxypHVf+63EfJZV1R3uf1d4HsN0fcMR9U56ORy1YS5ODLEaSh7IpV1lxrLRrJ6pbX4nv/Mk YX3ifU+azthwy83qi0n237yFqVjcIJROYoZc7MPsErq8psN0pRkvXzc5HtJJTVTh6u6hH12+1 cguxo91YLCpW08YH0KgSdrIKsCJZPZP5vL0yo4n56ubgx9w== Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org I've tried out the v4.4.19 based kernel in three variations, to get a feeling for what kind of regressions we add. Over a couple of days, I had a vanilla v4.4.19 stable kernel tested, and then the -rt27 release on top of that, with the default settings, and with a patch that forces CONFIG_PREEMPT_RT_FULL to be enabled on all builds. Unfortunately the results are not directly comparable, and the recent addition of the MIPS builds means that we get a lot of extra warnings that are a bit distracting: v4.4.19: 87 build warnings, 1 build failures, 0 boots failed, 166 passed https://kernelci.org/build/arm-soc/kernel/v4.4-2147-g85184740541c/ https://kernelci.org/boot/all/job/arm-soc/kernel/v4.4-2147-g85184740541c/ v4.4.19-rt27 REBASE: 184 build warnings, 2 build failures, 2 boots failed, 523 passed https://kernelci.org/build/arm-soc/kernel/v4.4-2498-gcf6c32575c8b/ https://kernelci.org/boot/all/job/arm-soc/kernel/v4.4-2498-gcf6c32575c8b/ v4.4.19-rt27 REBASE, CONFIG_PREEMPT_RT_FULL=y: 60 build warnings, 3 build failures, 8 boots failed, 61 passed https://kernelci.org/build/arm-soc/kernel/v4.4-2499-gbb46b50a5130/ https://kernelci.org/boot/all/job/arm-soc/kernel/v4.4-2499-gbb46b50a5130/ Greg, I checked the warnings in v4.4.19. We have previously made sure that Mark Brown's build bot has a clean build, but the kernelci build apparently does not for v4.4. These are the commits you may want to backport to get a clean build on x86 and ARM (all the other warnings are MIPS specific, and have not been fixed upstream): 166c5a6ef765 ("gma500: remove annoying deprecation warning") 3610a2add393 ("mpssd: fix buffer overflow warning") 44eb0cb9620c ("drm/i915: Avoid pointer arithmetic in calculating plane surface offset") 260b31643691 ("mmc: dw_mmc: use resource_size_t to store physical address") 32844138e313 ("pinctrl: at91-pio4: use %pr format string for resource") 00affcac69c7 ("soc: qcom/spm: shut up uninitialized variable warning") 236dec051078 ("kconfig: tinyconfig: provide whole choice blocks to avoid warnings") facc432faa59 ("net: simplify napi_synchronize() to avoid warnings") With the same configurations on v4.4.19-rt27, a couple of build warnings are introduced: 2098555 ("random: Make it work on rt") drivers/hv/vmbus_drv.c:831:2: error: too few arguments to function 'add_interrupt_randomness' 6a40894 ("preempt-lazy: Add the lazy-preemption check to preempt_schedule()") kernel/sched/core.c:3474:12: warning: 'preemptible_lazy' defined but not used [-Wunused-function] ff1741a ("tty/serial/pl011: Make the locking work on RT") drivers/tty/serial/amba-pl011.c: In function 'pl011_console_write': include/linux/spinlock.h:370:95: warning: 'flags' may be used uninitialized in this function [-Wmaybe-uninitialized] And with CONFIG_PREEMPT_RT, there are a few more warnings: * PREEMPT_RT_FULL requires RT_MUTEX, which normally gets enabled through FUTEX, but FUTEX may be disabled kernel/softirq.c: In function 'softirq_check_pending_idle': kernel/softirq.c:126:11: error: 'struct task_struct' has no member named 'pi_blocked_on' kernel/locking/rtmutex_common.h: In function 'task_has_pi_waiters': kernel/locking/rtmutex_common.h:61:14: error: 'struct task_struct' has no member named 'pi_waiters' kernel/locking/rtmutex_common.h:67:85: error: 'struct task_struct' has no member named 'pi_waiters_leftmost' * upstream driver bugs we normally don't warn about: drivers/infiniband/ulp/ipoib/ipoib_ib.c:54:21: warning: 'pkey_mutex' defined but not used [-Wunused-variable] drivers/rtc/rtc-m41t80.c:71:21: warning: 'm41t80_rtc_mutex' defined but not used [-Wunused-variable] * something makes stacks grow in ARM allmodconfig, haven't check what happens drivers/media/usb/cx231xx/cx231xx-i2c.c:518:1: warning: the frame size of 1048 bytes is larger than 1024 bytes [-Wframe-larger-than=] drivers/media/usb/dvb-usb-v2/mxl111sf.c:935:1: warning: the frame size of 1032 bytes is larger than 1024 bytes [-Wframe-larger-than=] drivers/media/usb/em28xx/em28xx-camera.c:194:1: warning: the frame size of 1048 bytes is larger than 1024 bytes [-Wframe-larger-than=] drivers/media/usb/em28xx/em28xx-camera.c:299:1: warning: the frame size of 1056 bytes is larger than 1024 bytes [-Wframe-larger-than=] drivers/media/usb/pvrusb2/pvrusb2-eeprom.c:154:1: warning: the frame size of 1128 bytes is larger than 1024 bytes [-Wframe-larger-than=] The boot failures on v4.4.19-rt27 REBASE are false positives, the configuration was already broken in v4.4.19 but didn't get reported in time for the kernelci mail. We get a number of boot failures with CONFIG_PREEMPT_RT_FULL+CONFIG_PROVE_LOCKING, not all of them all the time. I haven't looked at them in detail. One example is: [ 3.924111] BUG: scheduling while atomic: swapper/0/0/0x00000002 [ 3.924116] Modules linked in: [ 3.924135] Preemption disabled at:[] schedule_preempt_disabled+0x1c/0x20 [ 3.924137] [ 3.924147] CPU: 0 PID: 0 Comm: swapper/0 Not tainted 4.4.19-rt27-02499-gbb46b50a5130 #1 [ 3.924150] Hardware name: NVIDIA Tegra SoC (Flattened Device Tree) [ 3.924172] [] (unwind_backtrace) from [] (show_stack+0x10/0x14) [ 3.924189] [] (show_stack) from [] (dump_stack+0x7c/0x90) [ 3.924207] [] (dump_stack) from [] (__schedule_bug+0x68/0xb8) [ 3.924219] [] (__schedule_bug) from [] (__schedule+0x364/0x3d8) [ 3.924228] [] (__schedule) from [] (schedule+0x58/0xf4) [ 3.924238] [] (schedule) from [] (rt_spin_lock_slowlock+0x1cc/0x324) [ 3.924256] [] (rt_spin_lock_slowlock) from [] (rt_read_lock+0x2c/0x3c) [ 3.924278] [] (rt_read_lock) from [] (cpu_pm_enter+0x14/0x80) [ 3.924294] [] (cpu_pm_enter) from [] (tegra114_idle_power_down+0x1c/0x78) [ 3.924309] [] (tegra114_idle_power_down) from [] (cpuidle_enter_state+0xf4/0x2c0) [ 3.924321] [] (cpuidle_enter_state) from [] (cpu_startup_entry+0x1b8/0x298) [ 3.924333] [] (cpu_startup_entry) from [] (start_kernel+0x3c4/0x3d0) [ 3.924342] [] (start_kernel) from [<80208090>] (0x80208090) A number of other build seem to have trouble with the serial port input in that specific configuration (CONFIG_PREEMPT_RT_FULL+CONFIG_PROVE_LOCKING), e.g. # PYBOOT: userspace: at root shell cat /proc/cmdline [ 27.710068] ttyS0: 1 input overrun(s) coc/cmne /bin/sh: coc/cmne: not found / # uname -r unme-r /bin/sh: unme-r: not found / # cat /proc/cpuinfo ca /proc/cpuinfo /bin/sh: ca: not found / # dmesg -n 1 dmeg n 1 /bin/sh: dmeg: not found / # DMESG=$(readlink -f /bin/dmesg) DMSG$(readlink -f /bin/dmesg) or also this one: /bin/sh: can't access tty; job control turned off [ 19.347102] ttyAMA0: 1 input overrun(s) export PS1="linaro-test (echo \$?)]# " Arnd