public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [REGRESSION] Recent change to kernel spikes out ccache/distcc
@ 2009-01-06 15:15 Theodore Ts'o
  2009-01-06 15:29 ` Jan Beulich
                   ` (5 more replies)
  0 siblings, 6 replies; 37+ messages in thread
From: Theodore Ts'o @ 2009-01-06 15:15 UTC (permalink / raw)
  To: Jan Beulich, Sam Ravnborg; +Cc: linux-kernel, ccache

The following commit, ad7a953c, "kbuild: strip generated symbols from
*.ko" which was merged to the mainline last week (December 28th) has the
unfortunate side effct of making ccache useless.  That's because all
files are now built using a two step process.  First they are compiled
to assembly via "gcc -S -o .tmp_foo.s" and then assembled via "gcc" in a
separate step.  Unfortunately, ccache doesn't seem to be able to cache
either the compilation or the assembly step (and it may not be worth it
once the two steps are separated).

It would be nice if there was a CONFIG option which compiles files the
old-fashioned way, even if we lose the ability to strip the__crc_
symbols, just so that ccache can function again, since it can really
speed up the kernel development process.  Alternatively, maybe ccache
could somehow be taught a specialized way take the .c file, some kind of
kbuild-specified version identifier, and then output of the gcc -S,
assembly frobnication, gcc -c, objcopy pipeline that kbuild uses to
build an object file, so we can have cache the entire kbuild object
building process.

Or, if that's too complicated, maybe it would be worthwhile to have
kbuild create its own specialized ccache system?  Note that the last two
solutions rule out using distcc, unless we can encapsulate the build
process from a series of Makefile macros to a shell or C program, which
could then be injected to the remote host system to be executed by
distcc.  One value of doing that is the CRC or MD5 of the shell script
could be used as the version tag for the cache system.

In the short term, though, it would be nice if we could get back a
simple way of making a kernel  object file using just cc, so that ccache
and distcc could be functional again.   Does that seem reasonable?

Thanks,

						- Ted

^ permalink raw reply	[flat|nested] 37+ messages in thread

end of thread, other threads:[~2009-01-15 13:41 UTC | newest]

Thread overview: 37+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
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
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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox