Changed core allocation experiment to use cells and more iterations of the complete benchmark.

This commit is contained in:
Michael Mueller
2025-04-17 15:49:25 +02:00
parent 24ddf24f78
commit 25fcb81d46

View File

@@ -6,7 +6,7 @@ build $build_components
create_boot_directory
install_config {
<config prio_levels="64" verbose="true">
<config prio_levels="32" verbose="false">
<parent-provides>
<service name="LOG"/>
<service name="PD"/>
@@ -20,12 +20,13 @@ install_config {
<service name="RM"/>
<service name="SIGNAL"/>
<service name="TRACE"/>
<service name="Launcher"/>
</parent-provides>
<default-route>
<any-service><parent/><any-child/></any-service>
</default-route>
<default caps="2000"/>
<affinity-space width="32" height="1"/>
<affinity-space width="64" height="1"/>
<start name="timer">
<resource name="RAM" quantum="3M"/>
<provides><service name="Timer"/></provides>
@@ -33,10 +34,10 @@ install_config {
<any-service><parent/><any-child/></any-service>
</route>
</start>
<start name="cell1" priority="-1">
<start name="allocator" priority="-1">
<binary name="allocating_cell"/>
<resource name="RAM" quantum="128M"/>
<config>
<config start_with="63" end_with="63">
<vfs> <dir name="dev">
<log/>
<inline name="rtc">2022-07-20 14:30</inline>
@@ -45,11 +46,67 @@ install_config {
<libc stdout="/dev/log" stderr="/dev/log" rtc="/dev/rtc"/>
</config>
</start>
<!--
<start name="cell2" priority="-2">
<binary name="empty_cell"/>
<resource name="RAM" quantum="3M"/>
</start>
<start name="allocator2" priority="-1">
<binary name="allocating_cell"/>
<resource name="RAM" quantum="128M"/>
<config start_with="63" end_with="63">
<vfs> <dir name="dev">
<log/>
<inline name="rtc">2022-07-20 14:30</inline>
</dir>
</vfs>
<libc stdout="/dev/log" stderr="/dev/log" rtc="/dev/rtc"/>
</config>
</start>
<start name="allocator3" priority="-1">
<binary name="allocating_cell"/>
<resource name="RAM" quantum="128M"/>
<config start_with="63" end_with="63">
<vfs> <dir name="dev">
<log/>
<inline name="rtc">2022-07-20 14:30</inline>
</dir>
</vfs>
<libc stdout="/dev/log" stderr="/dev/log" rtc="/dev/rtc"/>
</config>
</start>
<start name="allocator4" priority="-1">
<binary name="allocating_cell"/>
<resource name="RAM" quantum="128M"/>
<config start_with="63" end_with="63">
<vfs> <dir name="dev">
<log/>
<inline name="rtc">2022-07-20 14:30</inline>
</dir>
</vfs>
<libc stdout="/dev/log" stderr="/dev/log" rtc="/dev/rtc"/>
</config>
</start>
<start name="allocator5" priority="-1">
<binary name="allocating_cell"/>
<resource name="RAM" quantum="128M"/>
<config start_with="63" end_with="63">
<vfs> <dir name="dev">
<log/>
<inline name="rtc">2022-07-20 14:30</inline>
</dir>
</vfs>
<libc stdout="/dev/log" stderr="/dev/log" rtc="/dev/rtc"/>
</config>
</start>
<!--
<start name="antagonist" priority="-2">
<binary name="allocating_cell"/>
<resource name="RAM" quantum="127M"/>
<config>
<vfs> <dir name="dev">
<log/>
<inline name="rtc">2022-07-20 14:30</inline>
</dir>
</vfs>
<libc stdout="/dev/log" stderr="/dev/log" rtc="/dev/rtc"/>
</config>
</start>
-->
</config>
}
@@ -57,4 +114,18 @@ install_config {
build_boot_image [build_artifacts]
append qemu_args " -nographic "
run_genode_until forever
set succeeded 0
set failed 0
for {set i 0} { $i < 3000 } { incr i } {
if { ! [catch {run_genode_until ".*Changing cell timer\'s affinity to .*0,0,64.*" 60} result ] } {
incr succeeded
puts "\n $succeeded of 3000 succeeded"
kill_spawned $qemu_spawn_id
} else {
incr failed
kill_spawned $qemu_spawn_id
}
}
puts "\n $succeeded of $i succeeded. $failed of $i failed."