mirror of
https://github.com/cirosantilli/linux-kernel-module-cheat.git
synced 2026-01-23 02:05:57 +01:00
Don't copy static userland builds into out_rootfs_overlay by default.
I was doing that by mistake too often. To force it, use --copy-overlay. This mechanism might also be useful for future userland content.
This commit is contained in:
@@ -11124,7 +11124,7 @@ xdg-open bst_vs_heap_vs_hashmap.tmp.png
|
|||||||
|
|
||||||
The parameters `heap_zoom_max` and `hashmap_zoom_max` are chosen manually interactively to best showcase the regions of interest in those plots.
|
The parameters `heap_zoom_max` and `hashmap_zoom_max` are chosen manually interactively to best showcase the regions of interest in those plots.
|
||||||
|
|
||||||
First we build the benchmark with <<m5ops-instructions>> enabled, and then we run it and extract the stats:
|
To benchmark on gem5, we first build the benchmark with <<m5ops-instructions>> enabled, and then we run it and extract the stats:
|
||||||
|
|
||||||
....
|
....
|
||||||
./build-userland \
|
./build-userland \
|
||||||
|
|||||||
@@ -23,17 +23,6 @@ Build our compiled userland examples.
|
|||||||
self._add_argument('--ccflags')
|
self._add_argument('--ccflags')
|
||||||
self._add_argument('--force-rebuild')
|
self._add_argument('--force-rebuild')
|
||||||
self._add_argument('--optimization-level')
|
self._add_argument('--optimization-level')
|
||||||
self.add_argument(
|
|
||||||
'--out-rootfs-overlay-dir-prefix',
|
|
||||||
default='',
|
|
||||||
help='''\
|
|
||||||
Place the output files inside the image within this additional prefix.
|
|
||||||
This is mostly useful to place different versions of binaries with different
|
|
||||||
build parameters inside image to compare them. See:
|
|
||||||
* https://cirosantilli.com/linux-kernel-module-cheat#update-the-toolchain
|
|
||||||
* https://cirosantilli.com/linux-kernel-module-cheat#out_rootfs_overlay_dir
|
|
||||||
'''
|
|
||||||
)
|
|
||||||
self.add_argument(
|
self.add_argument(
|
||||||
'targets',
|
'targets',
|
||||||
default=[],
|
default=[],
|
||||||
@@ -96,7 +85,7 @@ Default: build all examples that have their package dependencies met, e.g.:
|
|||||||
exit_status = self._handle_thread_pool_errors(my_thread_pool)
|
exit_status = self._handle_thread_pool_errors(my_thread_pool)
|
||||||
if exit_status != 0:
|
if exit_status != 0:
|
||||||
return exit_status
|
return exit_status
|
||||||
if not self.env['in_tree']:
|
if self.env['copy_overlay']:
|
||||||
self.sh.copy_dir_if_update(
|
self.sh.copy_dir_if_update(
|
||||||
srcdir=build_dir,
|
srcdir=build_dir,
|
||||||
destdir=os.path.join(
|
destdir=os.path.join(
|
||||||
|
|||||||
26
common.py
26
common.py
@@ -489,6 +489,28 @@ https://cirosantilli.com/linux-kernel-module-cheat#gem5-arm-platforms
|
|||||||
)
|
)
|
||||||
|
|
||||||
# Userland.
|
# Userland.
|
||||||
|
self.add_argument(
|
||||||
|
'--copy-overlay',
|
||||||
|
default=True,
|
||||||
|
help='''\
|
||||||
|
Copy userland build outputs to the overlay directory which will be put inside
|
||||||
|
the image. If not given explicitly, this is disabled automatically when certain
|
||||||
|
options are given, for example --static, since users don't usually want
|
||||||
|
static executables to be placed in the final image, but rather only for
|
||||||
|
user mode simulations in simulators that don't support dynamic linking like gem5.
|
||||||
|
'''
|
||||||
|
)
|
||||||
|
self.add_argument(
|
||||||
|
'--out-rootfs-overlay-dir-prefix',
|
||||||
|
default='',
|
||||||
|
help='''\
|
||||||
|
Place the output files of userland build outputs inside the image within this
|
||||||
|
additional prefix. This is mostly useful to place different versions of binaries
|
||||||
|
with different build parameters inside image to compare them. See:
|
||||||
|
* https://cirosantilli.com/linux-kernel-module-cheat#update-the-toolchain
|
||||||
|
* https://cirosantilli.com/linux-kernel-module-cheat#out_rootfs_overlay_dir
|
||||||
|
'''
|
||||||
|
)
|
||||||
self.add_argument(
|
self.add_argument(
|
||||||
'--package',
|
'--package',
|
||||||
action='append',
|
action='append',
|
||||||
@@ -924,6 +946,10 @@ Incompatible archs are skipped.
|
|||||||
env['initarg'] = 'init'
|
env['initarg'] = 'init'
|
||||||
env['quit_init'] = '{}={}'.format(env['initarg'], env['userland_quit_cmd'])
|
env['quit_init'] = '{}={}'.format(env['initarg'], env['userland_quit_cmd'])
|
||||||
|
|
||||||
|
if not env['_args_given']['copy_overlay']:
|
||||||
|
if self.env['in_tree'] or self.env['static']:
|
||||||
|
env['copy_overlay'] = False
|
||||||
|
|
||||||
# Userland
|
# Userland
|
||||||
env['userland_source_arch_arch_dir'] = join(env['userland_source_arch_dir'], env['arch'])
|
env['userland_source_arch_arch_dir'] = join(env['userland_source_arch_dir'], env['arch'])
|
||||||
if env['in_tree']:
|
if env['in_tree']:
|
||||||
|
|||||||
Reference in New Issue
Block a user