[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [linux-linus bisection] complete build-armhf-pvops
branch xen-unstable xenbranch xen-unstable job build-armhf-pvops testid kernel-build Tree: linux git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git Tree: linuxfirmware git://xenbits.xen.org/osstest/linux-firmware.git *** Found and reproduced problem changeset *** Bug is in tree: linux git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git Bug introduced: 23c35f48f5fbe33f68904138b23fee64df7d2f0f Bug not present: d3581c8ef718ae1b03e9106446ddf76b77026895 Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/118625/ commit 23c35f48f5fbe33f68904138b23fee64df7d2f0f Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Feb 2 16:44:14 2018 -0800 pinctrl: remove include file from <linux/device.h> When pulling the recent pinctrl merge, I was surprised by how a pinctrl-only pull request ended up rebuilding basically the whole kernel. The reason for that ended up being that <linux/device.h> included <linux/pinctrl/devinfo.h>, so any change to that file ended up causing pretty much every driver out there to be rebuilt. The reason for that was because 'struct device' has this in it: #ifdef CONFIG_PINCTRL struct dev_pin_info *pins; #endif but we already avoid header includes for these kinds of things in that header file, preferring to just use a forward-declaration of the structure instead. Exactly to avoid this kind of header dependency. Since some drivers seem to expect that <linux/pinctrl/devinfo.h> header to come in automatically, move the include to <linux/pinctrl/pinctrl.h> instead. It might be better to just make the includes more targeted, but I'm not going to review every driver. It would definitely be good to have a tool for finding and minimizing header dependencies automatically - or at least help with them. Right now we almost certainly end up having way too many of these things, and it's hard to test every single configuration. FWIW, you can get a sense of the "hotness" of a header file with something like this after doing a full build: find . -name '.*.o.cmd' -print0 | xargs -0 tail --lines=+2 | grep -v 'wildcard ' | tr ' \\' '\n' | sort | uniq -c | sort -n | less -S which isn't exact (there are other things in those '*.o.cmd' than just the dependencies, and the "--lines=+2" only removes the header), but might a useful approximation. With this patch, <linux/pinctrl/devinfo.h> drops to "only" having 833 users in the current x86-64 allmodconfig. In contrast, <linux/device.h> has 14857 build files including it directly or indirectly. Of course, the headers that absolutely _everybody_ includes (things like <linux/types.h> etc) get a score of 23000+. Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> For bisection revision-tuple graph see: http://logs.test-lab.xenproject.org/osstest/results/bisect/linux-linus/build-armhf-pvops.kernel-build.html Revision IDs in each graph node refer, respectively, to the Trees above. ---------------------------------------- Running cs-bisection-step --graph-out=/home/logs/results/bisect/linux-linus/build-armhf-pvops.kernel-build --summary-out=tmp/118625.bisection-summary --basis-template=118324 --blessings=real,real-bisect linux-linus build-armhf-pvops kernel-build Searching for failure / basis pass: 118598 fail [host=arndale-bluewater] / 118538 ok. Failure / basis pass flights: 118598 / 118538 Tree: linux git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git Tree: linuxfirmware git://xenbits.xen.org/osstest/linux-firmware.git Latest 35277995e17919ab838beae765f440674e8576eb c530a75c1e6a472b0eb9558310b518f0dfcd8860 Basis pass 4bf772b14675411a69b3c807f73006de0fe4b649 c530a75c1e6a472b0eb9558310b518f0dfcd8860 Generating revisions with ./adhoc-revtuple-generator git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git#4bf772b14675411a69b3c807f73006de0fe4b649-35277995e17919ab838beae765f440674e8576eb git://xenbits.xen.org/osstest/linux-firmware.git#c530a75c1e6a472b0eb9558310b518f0dfcd8860-c530a75c1e6a472b0eb9558310b518f0dfcd8860 Loaded 1215 nodes in revision graph Searching for test results: 118583 [host=arndale-westfield] 118538 pass 4bf772b14675411a69b3c807f73006de0fe4b649 c530a75c1e6a472b0eb9558310b518f0dfcd8860 118556 fail 23c35f48f5fbe33f68904138b23fee64df7d2f0f c530a75c1e6a472b0eb9558310b518f0dfcd8860 118566 [host=arndale-westfield] 118581 [host=arndale-westfield] 118576 fail 35277995e17919ab838beae765f440674e8576eb c530a75c1e6a472b0eb9558310b518f0dfcd8860 118584 [host=arndale-westfield] 118610 pass d3581c8ef718ae1b03e9106446ddf76b77026895 c530a75c1e6a472b0eb9558310b518f0dfcd8860 118585 [host=arndale-westfield] 118587 pass 4bf772b14675411a69b3c807f73006de0fe4b649 c530a75c1e6a472b0eb9558310b518f0dfcd8860 118614 fail 23c35f48f5fbe33f68904138b23fee64df7d2f0f c530a75c1e6a472b0eb9558310b518f0dfcd8860 118592 fail 35277995e17919ab838beae765f440674e8576eb c530a75c1e6a472b0eb9558310b518f0dfcd8860 118617 pass d3581c8ef718ae1b03e9106446ddf76b77026895 c530a75c1e6a472b0eb9558310b518f0dfcd8860 118593 pass b89e32ccd1be92a3643df3908d3026b09e271616 c530a75c1e6a472b0eb9558310b518f0dfcd8860 118586 [host=arndale-lakeside] 118595 pass ef991796be0e65b644fe60198bd1112830eff173 c530a75c1e6a472b0eb9558310b518f0dfcd8860 118596 [host=arndale-lakeside] 118618 fail 23c35f48f5fbe33f68904138b23fee64df7d2f0f c530a75c1e6a472b0eb9558310b518f0dfcd8860 118599 [host=arndale-lakeside] 118602 [host=arndale-lakeside] 118603 [host=arndale-lakeside] 118621 pass d3581c8ef718ae1b03e9106446ddf76b77026895 c530a75c1e6a472b0eb9558310b518f0dfcd8860 118604 [host=arndale-lakeside] 118598 fail 35277995e17919ab838beae765f440674e8576eb c530a75c1e6a472b0eb9558310b518f0dfcd8860 118608 [host=arndale-lakeside] 118625 fail 23c35f48f5fbe33f68904138b23fee64df7d2f0f c530a75c1e6a472b0eb9558310b518f0dfcd8860 Searching for interesting versions Result found: flight 118538 (pass), for basis pass Result found: flight 118576 (fail), for basis failure Repro found: flight 118587 (pass), for basis pass Repro found: flight 118592 (fail), for basis failure 0 revisions at d3581c8ef718ae1b03e9106446ddf76b77026895 c530a75c1e6a472b0eb9558310b518f0dfcd8860 No revisions left to test, checking graph state. Result found: flight 118610 (pass), for last pass Result found: flight 118614 (fail), for first failure Repro found: flight 118617 (pass), for last pass Repro found: flight 118618 (fail), for first failure Repro found: flight 118621 (pass), for last pass Repro found: flight 118625 (fail), for first failure *** Found and reproduced problem changeset *** Bug is in tree: linux git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git Bug introduced: 23c35f48f5fbe33f68904138b23fee64df7d2f0f Bug not present: d3581c8ef718ae1b03e9106446ddf76b77026895 Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/118625/ commit 23c35f48f5fbe33f68904138b23fee64df7d2f0f Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Feb 2 16:44:14 2018 -0800 pinctrl: remove include file from <linux/device.h> When pulling the recent pinctrl merge, I was surprised by how a pinctrl-only pull request ended up rebuilding basically the whole kernel. The reason for that ended up being that <linux/device.h> included <linux/pinctrl/devinfo.h>, so any change to that file ended up causing pretty much every driver out there to be rebuilt. The reason for that was because 'struct device' has this in it: #ifdef CONFIG_PINCTRL struct dev_pin_info *pins; #endif but we already avoid header includes for these kinds of things in that header file, preferring to just use a forward-declaration of the structure instead. Exactly to avoid this kind of header dependency. Since some drivers seem to expect that <linux/pinctrl/devinfo.h> header to come in automatically, move the include to <linux/pinctrl/pinctrl.h> instead. It might be better to just make the includes more targeted, but I'm not going to review every driver. It would definitely be good to have a tool for finding and minimizing header dependencies automatically - or at least help with them. Right now we almost certainly end up having way too many of these things, and it's hard to test every single configuration. FWIW, you can get a sense of the "hotness" of a header file with something like this after doing a full build: find . -name '.*.o.cmd' -print0 | xargs -0 tail --lines=+2 | grep -v 'wildcard ' | tr ' \\' '\n' | sort | uniq -c | sort -n | less -S which isn't exact (there are other things in those '*.o.cmd' than just the dependencies, and the "--lines=+2" only removes the header), but might a useful approximation. With this patch, <linux/pinctrl/devinfo.h> drops to "only" having 833 users in the current x86-64 allmodconfig. In contrast, <linux/device.h> has 14857 build files including it directly or indirectly. Of course, the headers that absolutely _everybody_ includes (things like <linux/types.h> etc) get a score of 23000+. Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Revision graph left in /home/logs/results/bisect/linux-linus/build-armhf-pvops.kernel-build.{dot,ps,png,html,svg}. ---------------------------------------- 118625: tolerable ALL FAIL flight 118625 linux-linus real-bisect [real] http://logs.test-lab.xenproject.org/osstest/logs/118625/ Failures :-/ but no regressions. Tests which did not succeed, including tests which could not be run: build-armhf-pvops 6 kernel-build fail baseline untested jobs: build-armhf-pvops fail ------------------------------------------------------------ sg-report-flight on osstest.test-lab.xenproject.org logs: /home/logs/logs images: /home/logs/images Logs, config files, etc. are available at http://logs.test-lab.xenproject.org/osstest/logs Explanation of these reports, and of osstest in general, is at http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master Test harness code can be found at http://xenbits.xen.org/gitweb?p=osstest.git;a=summary _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |