public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Theodore Tso <tytso@mit.edu>
To: David Miller <davem@davemloft.net>
Cc: jbeulich@novell.com, sam@ravnborg.org,
	linux-kernel@vger.kernel.org, ccache@lists.samba.org
Subject: Re: [REGRESSION] Recent change to kernel spikes out ccache/distcc
Date: Tue, 6 Jan 2009 13:12:24 -0500	[thread overview]
Message-ID: <20090106181224.GC10903@mit.edu> (raw)
In-Reply-To: <20090106.082619.170966508.davem@davemloft.net>

On Tue, Jan 06, 2009 at 08:26:19AM -0800, David Miller wrote:
> From: "Theodore Ts'o" <tytso@mit.edu>
> Date: Tue, 06 Jan 2009 10:15:26 -0500
> 
> I think the problem might be that the assembler source always
> "changes" because a different date or timestamp string is put in there
> by gcc every time the assembler source is built.

I'm not sure that's the problem, actually. Running "ccache -s" doesn't
show any additional cache misses *or* hits.  Instead the only
statistic which gets bumped is the "called for link" counter.  So I
suspect it's because ccache doesn't attempt to cache "gcc -S" or "gcc
-c foo.s" operations.  So it might be the case that a change to ccache
to cache compile-to-assemble and assemble-to-object code
transformation would help, but then we would still end up calling
ccache twice, and double the number of things that would be cached in
the ccache directories, not to mention doubling the number of calls to
remote hosts of distcc is involved.

So a full, long-term solution that gets back all of the efficiency
wins of ccache and distcc probably requires somehow passing a script
or program to ccache and distcc which does all of the steps which
kbuild needs to do to transform a kernel .c file to a kernel .o file,
which seems to involve interposing multiple steps between the foo.c to
foo.s and foo.s and foo.o steps, as well as post-processing on the
resulting .o file using objcopy.  If we can somehow get ccache to
cache all of that work, and distribute all of the steps of going from
foo.c to foo.o to other machines when distcc is involved, that would
be really cool.  I suspect this is not trivial to do, however....

   	  	   	   	       - Ted


  reply	other threads:[~2009-01-06 18:12 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-01-06 15:15 [REGRESSION] Recent change to kernel spikes out ccache/distcc Theodore Ts'o
2009-01-06 15:29 ` Jan Beulich
2009-01-06 17:33   ` Theodore Tso
2009-01-06 17:48     ` Sam Ravnborg
2009-01-06 18:04       ` Theodore Tso
2009-01-07  8:50     ` Jan Beulich
2009-01-07 11:31       ` Sam Ravnborg
2009-01-07 12:35         ` Jan Beulich
2009-01-07 13:23           ` Sam Ravnborg
2009-01-07 13:48             ` Jan Beulich
2009-01-07 20:06               ` Sam Ravnborg
2009-01-08 19:16                 ` Kyle McMartin
2009-01-12 14:06                 ` Gilles Espinasse
2009-01-06 17:53   ` Sam Ravnborg
2009-01-06 16:26 ` David Miller
2009-01-06 18:12   ` Theodore Tso [this message]
2009-01-06 22:09 ` Sam Ravnborg
2009-01-07  4:33   ` Theodore Tso
2009-01-07  5:10 ` Al Viro
2009-01-07  8:49   ` Jan Beulich
2009-01-07 14:03     ` Al Viro
2009-01-07 14:28       ` Jan Beulich
2009-01-07 14:37         ` Al Viro
2009-01-07 14:40           ` Jan Beulich
2009-01-07 13:12 ` Theodore Tso
2009-01-07 13:39   ` Jan Beulich
2009-01-07 14:28     ` Theodore Tso
2009-01-07 14:39       ` Jan Beulich
2009-01-08 19:17   ` Dave Jones
2009-01-08 21:31     ` Theodore Tso
2009-01-11 21:48       ` Kyle McMartin
2009-01-11 22:11         ` Theodore Tso
2009-01-11 22:51         ` Theodore Tso
2009-01-11 22:55           ` Kyle McMartin
2009-01-14 17:16 ` Peter Zijlstra
2009-01-15  9:11   ` Jan Beulich
2009-01-15 13:40     ` Theodore Tso

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=20090106181224.GC10903@mit.edu \
    --to=tytso@mit.edu \
    --cc=ccache@lists.samba.org \
    --cc=davem@davemloft.net \
    --cc=jbeulich@novell.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=sam@ravnborg.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