From: osstest service owner <osstest-admin@xenproject.org>
To: xen-devel@lists.xenproject.org, osstest-admin@xenproject.org
Subject: [linux-linus bisection] complete build-armhf-pvops
Date: Tue, 06 Feb 2018 20:31:21 +0000 [thread overview]
Message-ID: <E1ej9th-0008Ri-R0@osstest.test-lab.xenproject.org> (raw)
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@linux-foundation.org>
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@linaro.org>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
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@linux-foundation.org>
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@linaro.org>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
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@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel
reply other threads:[~2018-02-06 20:31 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=E1ej9th-0008Ri-R0@osstest.test-lab.xenproject.org \
--to=osstest-admin@xenproject.org \
--cc=xen-devel@lists.xenproject.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).