<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>LKML: Linus Torvalds: Re: [GIT PULL] Driver core patches for 5.2-rc1</title><link href="/css/message.css" rel="stylesheet" type="text/css" /><link href="/css/wrap.css" rel="alternate stylesheet" type="text/css" title="wrap" /><link href="/css/nowrap.css" rel="stylesheet" type="text/css" title="nowrap" /><link href="/favicon.ico" rel="shortcut icon" /><script src="/js/simple-calendar.js" type="text/javascript"></script><script src="/js/styleswitcher.js" type="text/javascript"></script><link rel="alternate" type="application/rss+xml" title="lkml.org : last 100 messages" href="/rss.php" /><link rel="alternate" type="application/rss+xml" title="lkml.org : last messages by Linus Torvalds" href="/groupie.php?aid=" /><!--Matomo--><script>
  var _paq = window._paq = window._paq || [];
  /* tracker methods like "setCustomDimension" should be called before "trackPageView" */
  _paq.push(["setDoNotTrack", true]);
  _paq.push(["disableCookies"]);
  _paq.push(['trackPageView']);
  _paq.push(['enableLinkTracking']);
  (function() {
    var u="//m.lkml.org/";
    _paq.push(['setTrackerUrl', u+'matomo.php']);
    _paq.push(['setSiteId', '1']);
    var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
    g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
  })();
</script><!--End Matomo Code--></head><body onload="es.jasper.simpleCalendar.init();" itemscope="itemscope" itemtype="http://schema.org/BlogPosting"><table border="0" cellpadding="0" cellspacing="0"><tr><td width="180" align="center"><a href="/"><img style="border:0;width:135px;height:32px" src="/images/toprowlk.gif" alt="lkml.org" /></a></td><td width="32"> </td><td class="nb"><div><a class="nb" href="/lkml">
     [lkml]</a>
      
<a class="nb" href="/lkml/2019">
     [2019]</a>
      
<a class="nb" href="/lkml/2019/5">
     [May]</a>
      
<a class="nb" href="/lkml/2019/5/9">
     [9]</a>
      
<a class="nb" href="/lkml/last100">
     [last100]</a>
      
<a href="/rss.php"><img src="/images/rss-or.gif" border="0" alt="RSS Feed" /></a></div><div>Views:
<a href="#" class="nowrap" onclick="setActiveStyleSheet('wrap');return false;">[wrap]</a><a href="#" class="wrap" onclick="setActiveStyleSheet('nowrap');return false;">[no wrap]</a>
 
<a class="nb" href="/lkml/mheaders/2019/5/9/983" onclick="this.href='/lkml/headers'+'/2019/5/9/983';">[headers]</a> 
<a href="/lkml/bounce/2019/5/9/983">[forward]</a> 
    </div></td><td width="32"> </td></tr><tr><td valign="top"><div class="es-jasper-simpleCalendar" baseurl="/lkml/"></div><div class="threadlist">Messages in this thread</div><ul class="threadlist"><li class="root"><a href="/lkml/2019/5/7/1025">First message in thread</a></li><li><a href="/lkml/2019/5/7/1025">Greg KH</a><ul><li><a href="/lkml/2019/5/7/1197">   pr-tracker-bot&#64;kernel ...</a></li><li class="origin"><a href="/lkml/2019/5/9/1152">Linus Torvalds</a><ul><li><a href="/lkml/2019/5/9/1152">Joel Fernandes</a><ul><li><a href="/lkml/2019/5/10/106">Masahiro Yamada</a><ul><li><a href="/lkml/2019/5/10/593">Joel Fernandes</a></li></ul></li></ul></li><li><a href="/lkml/2019/5/10/45">Masahiro Yamada</a></li></ul></li></ul></li></ul></td><td width="32" rowspan="2" class="c" valign="top"><img src="/images/icornerl.gif" width="32" height="32" alt="/" /></td><td class="c" rowspan="2" valign="top" style="padding-top: 1em"><table><tr><td><table><tr><td class="lp">From</td><td class="rp" itemprop="author">Linus Torvalds &lt;&gt;</td></tr><tr><td class="lp">Date</td><td class="rp" itemprop="datePublished">Thu, 9 May 2019 13:47:54 -0700</td></tr><tr><td class="lp">Subject</td><td class="rp" itemprop="name">Re: [GIT PULL] Driver core patches for 5.2-rc1</td></tr></table></td><td></td></tr></table><pre itemprop="articleBody">[ Ok, this may look irrelevant to people, but I actually notice this<br />because I do quick rebuilds *all* the time, so the 30s vs 41s<br />difference is actually something I reacted to and then tried to figure<br />out... ]<br /><br />On Tue, May 7, 2019 at 10:59 AM Greg KH &lt;gregkh&#64;linuxfoundation.org&gt; wrote:<br />&gt;<br />&gt; Joel Fernandes (Google) (2):<br />&gt;       Provide in-kernel headers to make extending kernel easier<br /><br />Joel and Masahiro,<br /> this commit does annoying things. It's a small thing, but it ends up<br />grating on my kernel rebuild times, so I hope somebody can take a look<br />at it..<br /><br />Try building a kernel with no changes, and it shouldn't re-link.<br /><br />HOWEVER.<br /><br />If you re-make the config in between, the kernel/kheaders_data.tar.xz<br />is re-generated too. I think it checks timestamps despite having that<br />"CHK" phase that should verify just contents.<br /><br />I think the kernel/config_data.gz rules do the same thing, judging by<br />the output.<br /><br />I use "make allmodconfig" to re-generate the same kernel config, which<br />triggers this. The difference between "nothing changed" and "rerun<br />'make allmodconfig' and nothing _still_ should have changed" is quite<br />stark:<br /><br />- nothing changed: rebuild in less than 30s<br /><br />    [torvalds&#64;i7 linux]$ time make -j32<br />      DESCEND  objtool<br />      CALL    scripts/atomic/check-atomics.sh<br />      CALL    scripts/checksyscalls.sh<br />      CHK     include/generated/compile.h<br />      CHK     kernel/kheaders_data.tar.xz<br />      Building modules, stage 2.<br />    Kernel: arch/x86/boot/bzImage is ready  (#9)<br />      MODPOST 7282 modules<br /><br />    real        0m29.379s<br />    user        1m50.586s<br />    sys 0m41.047s<br /><br />- do (the same) "make allmodconfig" in between, now rebuild time is<br />just over 41s:<br /><br />    [torvalds&#64;i7 linux]$ make allmodconfig<br /><br />    [torvalds&#64;i7 linux]$ time make -j32<br />    scripts/kconfig/conf  --syncconfig Kconfig<br />      DESCEND  objtool<br />      CALL    scripts/atomic/check-atomics.sh<br />      CALL    scripts/checksyscalls.sh<br />      CHK     include/generated/compile.h<br />      GZIP    kernel/config_data.gz<br />      CHK     kernel/kheaders_data.tar.xz<br />      CC [M]  kernel/configs.o<br />      GEN     kernel/kheaders_data.tar.xz<br />      CC [M]  kernel/kheaders.o<br />      Building modules, stage 2.<br />    Kernel: arch/x86/boot/bzImage is ready  (#9)<br />      MODPOST 7282 modules<br />      LD [M]  kernel/configs.ko<br />      LD [M]  kernel/kheaders.ko<br /><br />    real        0m41.326s<br />    user        2m17.822s<br />    sys 0m54.561s<br /><br />No, this isn't the end of the world, but if somebody sees a simple<br />solution to avoid that extra ten seconds, I'd appreciate it.<br /><br />                  Linus<br /><br /></pre></td><td width="32" rowspan="2" class="c" valign="top"><img src="/images/icornerr.gif" width="32" height="32" alt="\" /></td></tr><tr><td align="right" valign="bottom">
  
 </td></tr><tr><td align="right" valign="bottom"> </td><td class="c" valign="bottom" style="padding-bottom: 0px"><img src="/images/bcornerl.gif" width="32" height="32" alt="\" /></td><td class="c"> </td><td class="c" valign="bottom" style="padding-bottom: 0px"><img src="/images/bcornerr.gif" width="32" height="32" alt="/" /></td></tr><tr><td align="right" valign="top" colspan="2">
 
</td><td class="lm">Last update: 2019-05-09 22:49    [from the cache]<br />©2003-2020 <a href="http://blog.jasper.es/"><span itemprop="editor">Jasper Spaans</span></a>|hosted at <a href="https://www.digitalocean.com/?refcode=9a8e99d24cf9">Digital Ocean</a> and my Meterkast|<a href="http://blog.jasper.es/categories.html#lkml-ref">Read the blog</a></td><td> </td></tr></table><script language="javascript" src="/js/styleswitcher.js" type="text/javascript"></script></body></html>