[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

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.