mirror of
https://github.com/cirosantilli/linux-kernel-module-cheat.git
synced 2026-01-22 17:55:57 +01:00
gem5: update to 4c8efdbef45d98109769cf675ee3411393e8ed06
The Linux boot was still broken after the previous gem5 update. Let's try a new one... Add the --no-ccache option to benchmark builds.
This commit is contained in:
10
README.adoc
10
README.adoc
@@ -20574,6 +20574,8 @@ Get results with:
|
||||
tail -n+1 ../linux-kernel-module-cheat-regression/*/gem5-bench-build-*.txt
|
||||
....
|
||||
|
||||
<<p51>>, Ubuntu 19.10, LKMC 7c6bb29bc89ec3f1056c0680c3f08bd64018a7bc GCC 9.2.1, gem5 d7d9bc240615625141cd6feddbadd392457e49eb (18-02-2020), `./build --arch aarch64 --gem5-worktree master --no-cache`: 19:33 TODO must investigate why it got so much worse.
|
||||
|
||||
====== Benchmark gem5 single file change rebuild time
|
||||
|
||||
This is the critical development parameter, and is dominated by the link time of huge binaries.
|
||||
@@ -21155,6 +21157,14 @@ We have https://buildroot.org/downloads/manual/manual.html#ccache[enabled ccache
|
||||
* absolute paths are used and GDB can find source files
|
||||
* but builds are not reused across separated LKMC directories
|
||||
|
||||
ccache can be disabled with the `--no-ccache` option as in:
|
||||
|
||||
....
|
||||
./build-gem5 --no-ccache
|
||||
....
|
||||
|
||||
This can be useful to <<benchmark-build,benchmark builds>>.
|
||||
|
||||
=== getvar
|
||||
|
||||
The link:getvar[] helper script can print the values of internal LKMC variables.
|
||||
|
||||
@@ -121,6 +121,9 @@ https://github.com/cirosantilli/linux-kernel-module-cheat-regression#gem5-unit-t
|
||||
gold_linker_cmd = []
|
||||
else:
|
||||
gold_linker_cmd = ['--gold-linker', LF]
|
||||
kwargs = {}
|
||||
if self.env['ccache']:
|
||||
kwargs['extra_paths'] = [self.env['ccache_dir']]
|
||||
exit_status = self.sh.run_cmd(
|
||||
(
|
||||
[
|
||||
@@ -141,9 +144,9 @@ https://github.com/cirosantilli/linux-kernel-module-cheat-regression#gem5-unit-t
|
||||
self.sh.add_newlines(self.env['extra_scons_args'])
|
||||
),
|
||||
cwd=self.env['gem5_source_dir'],
|
||||
extra_paths=[self.env['ccache_dir']],
|
||||
extra_env=extra_env,
|
||||
raise_on_failure = False,
|
||||
**kwargs
|
||||
)
|
||||
return exit_status
|
||||
|
||||
|
||||
@@ -221,6 +221,13 @@ CPU architecture to use. If given multiple times, run the action
|
||||
for each arch sequentially in that order. If one of them fails, stop running.
|
||||
Valid archs: {}
|
||||
'''.format(arches_string)
|
||||
)
|
||||
self.add_argument(
|
||||
'--ccache',
|
||||
default=True,
|
||||
help='''\
|
||||
Enable or disable ccache: https://cirosantilli.com/linux-kernel-module-cheat#ccache
|
||||
'''
|
||||
)
|
||||
self.add_argument(
|
||||
'--dry-run',
|
||||
|
||||
Submodule submodules/gem5 updated: fcbea60085...4c8efdbef4
Reference in New Issue
Block a user