mirror of
https://github.com/cirosantilli/linux-kernel-module-cheat.git
synced 2026-01-23 02:05: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
|
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
|
====== Benchmark gem5 single file change rebuild time
|
||||||
|
|
||||||
This is the critical development parameter, and is dominated by the link time of huge binaries.
|
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
|
* absolute paths are used and GDB can find source files
|
||||||
* but builds are not reused across separated LKMC directories
|
* 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
|
=== getvar
|
||||||
|
|
||||||
The link:getvar[] helper script can print the values of internal LKMC variables.
|
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 = []
|
gold_linker_cmd = []
|
||||||
else:
|
else:
|
||||||
gold_linker_cmd = ['--gold-linker', LF]
|
gold_linker_cmd = ['--gold-linker', LF]
|
||||||
|
kwargs = {}
|
||||||
|
if self.env['ccache']:
|
||||||
|
kwargs['extra_paths'] = [self.env['ccache_dir']]
|
||||||
exit_status = self.sh.run_cmd(
|
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'])
|
self.sh.add_newlines(self.env['extra_scons_args'])
|
||||||
),
|
),
|
||||||
cwd=self.env['gem5_source_dir'],
|
cwd=self.env['gem5_source_dir'],
|
||||||
extra_paths=[self.env['ccache_dir']],
|
|
||||||
extra_env=extra_env,
|
extra_env=extra_env,
|
||||||
raise_on_failure = False,
|
raise_on_failure = False,
|
||||||
|
**kwargs
|
||||||
)
|
)
|
||||||
return exit_status
|
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.
|
for each arch sequentially in that order. If one of them fails, stop running.
|
||||||
Valid archs: {}
|
Valid archs: {}
|
||||||
'''.format(arches_string)
|
'''.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(
|
self.add_argument(
|
||||||
'--dry-run',
|
'--dry-run',
|
||||||
|
|||||||
Submodule submodules/gem5 updated: fcbea60085...4c8efdbef4
Reference in New Issue
Block a user