Added TOPO as provided service and increase RAM quota.

This commit is contained in:
Michael Mueller
2024-09-15 19:44:18 +02:00
parent 00c9932d5c
commit 6e6c4411ce
11 changed files with 275 additions and 245 deletions

View File

@@ -162,7 +162,8 @@ proc platform_drv_config {} {
<service name="PD"> <parent/> </service>
<service name="RM"> <parent/> </service>
<service name="CPU"> <parent/> </service>
<service name="ROM"> <parent/> </service>}
<service name="ROM"> <parent/> </service>
<service name="TOPO"> <parent/> </service>}
append_if [expr {[acpi_drv_name] eq "acpica"}] drv_config {
<service name="IO_PORT"> <parent/> </service>

View File

@@ -39,13 +39,14 @@ set config {
<service name="CPU"/>
<service name="IO_MEM" />
<service name="IO_PORT" />
<service name="TOPO"/>
</parent-provides>
<default-route>
<any-service> <parent/> <any-child/> </any-service>
</default-route>
<start name="timer" caps="100">
<resource name="RAM" quantum="2M"/>
<resource name="RAM" quantum="16M"/>
<provides><service name="Timer"/></provides>
</start>

View File

@@ -1,4 +1,4 @@
proc use_dynamic_rom { } { return true }
proc use_dynamic_rom { } { return false }
create_boot_directory
import_from_depot [depot_user]/src/[base_src] \
@@ -22,18 +22,19 @@ append config {
<service name="RM"/>
<service name="CPU"/>
<service name="LOG"/>
<service name="TOPO"/>
</parent-provides>
<default-route>
<any-service> <parent/> <any-child/> </any-service>
</default-route>
<default caps="100"/>
<start name="timer">
<resource name="RAM" quantum="1M"/>
<resource name="RAM" quantum="16M"/>
<provides> <service name="Timer"/> </provides>
</start>
<start name="drivers" caps="1000" managing_system="yes">
<resource name="RAM" quantum="32M"/>
<resource name="RAM" quantum="512M"/>
<binary name="init"/>
<route>
<service name="ROM" label="config"> <parent label="drivers.config"/> </service>
@@ -44,7 +45,7 @@ append config {
</start>
<start name="nic_router" caps="200">
<resource name="RAM" quantum="10M"/>
<resource name="RAM" quantum="20M"/>
<provides>
<service name="Nic"/>
<service name="Uplink"/>
@@ -54,7 +55,7 @@ append config {
<policy label_prefix="socket_fs" domain="downlink"/>
<policy label_prefix="drivers" domain="uplink"/>
<domain name="uplink" interface="10.0.2.55/24" gateway="10.0.2.1">
<domain name="uplink" interface="10.0.2.55/24" gateway="10.0.2.1" verbose_packets="true">
<nat domain="downlink"
tcp-ports="16384"
@@ -69,7 +70,7 @@ append config {
</domain>
<domain name="downlink" interface="10.0.3.1/24">
<domain name="downlink" interface="10.0.3.1/24" verbose_packets="true">
<dhcp-server ip_first="10.0.3.55" ip_last="10.0.3.55">
<dns-server ip="8.8.8.8"/>
@@ -88,7 +89,7 @@ append config {
append_if [use_dynamic_rom] config {
<start name="dynamic_rom">
<resource name="RAM" quantum="4M"/>
<resource name="RAM" quantum="16M"/>
<provides><service name="ROM"/> </provides>
<config verbose="yes">
<rom name="socket_fs.config"> <inline description="MTU default">
@@ -139,7 +140,7 @@ if {[use_dynamic_rom]} { append config {
<config ld_verbose="yes">
<vfs>
<dir name="socket">
<lxip ip_addr="10.0.2.55" netmask="255.255.255.0" gateway="10.0.2.1" nameserver="8.8.8.8"/>
<lxip ip_addr="10.0.3.55" netmask="255.255.255.0" gateway="10.0.3.1" nameserver="8.8.8.8"/>
<!-- <lxip dhcp="yes"/> -->
</dir>
</vfs>
@@ -152,6 +153,7 @@ append config {
</start> }
append qemu_args " -nographic "
append_qemu_nic_args
append_qemu_nic_args "host=10.0.2.1,dhcpstart=10.0.2.55,hostfwd=tcp::10080-:80,hostfwd=tcp::18080-:8080,hostfwd=udp::10007-:7,hostfwd=udp::17070-:7070"
# vi: set ft=tcl :

View File

@@ -20,6 +20,7 @@ append config {
<service name="RM"/>
<service name="CPU"/>
<service name="LOG"/>
<service name="TOPO"/>
</parent-provides>
<default-route>
@@ -34,7 +35,7 @@ append config {
</start>
<start name="drivers" caps="1000" managing_system="yes">
<resource name="RAM" quantum="32M"/>
<resource name="RAM" quantum="512M"/>
<binary name="init"/>
<route>
<service name="ROM" label="config"> <parent label="drivers.config"/> </service>
@@ -45,7 +46,7 @@ append config {
</start>
<start name="nic_router" caps="200">
<resource name="RAM" quantum="10M"/>
<resource name="RAM" quantum="20M"/>
<provides>
<service name="Nic"/>
<service name="Uplink"/>

View File

@@ -5,7 +5,7 @@ build { test/netty/tcp }
append config {
<start name="netty-server-80">
<binary name="test-netty_tcp"/>
<resource name="RAM" quantum="4M"/>
<resource name="RAM" quantum="16M"/>
<config ld_verbose="yes" port="80" read_write="no" nonblock="true">
<vfs>
<dir name="dev"> <log/> </dir>
@@ -17,7 +17,7 @@ append config {
</start>
<start name="netty-server-8080">
<binary name="test-netty_tcp"/>
<resource name="RAM" quantum="4M"/>
<resource name="RAM" quantum="16M"/>
<config ld_verbose="yes" mode="server" port="8080" nonblock="false">
<vfs>
<dir name="dev"> <log/> </dir>

View File

@@ -5,7 +5,7 @@ build { test/netty/tcp }
append config {
<start name="netty-server-80">
<binary name="test-netty_tcp"/>
<resource name="RAM" quantum="4M"/>
<resource name="RAM" quantum="8M"/>
<config ld_verbose="yes" port="80" read_write="no" nonblock="true">
<vfs>
<dir name="dev"> <log/> </dir>
@@ -17,7 +17,7 @@ append config {
</start>
<start name="netty-server-8080">
<binary name="test-netty_tcp"/>
<resource name="RAM" quantum="4M"/>
<resource name="RAM" quantum="8M"/>
<config ld_verbose="yes" mode="server" port="8080" nonblock="false">
<vfs>
<dir name="dev"> <log/> </dir>
@@ -27,11 +27,11 @@ append config {
<libc stdout="/dev/log" stderr="/dev/log" socket="/socket"/>
</config>
</start>
<!--
<start name="netty-client-A">
<binary name="test-netty_tcp"/>
<resource name="RAM" quantum="4M"/>
<resource name="RAM" quantum="8M"/>
<config ld_verbose="yes" mode="client" ip="10.0.3.1" port="8080">
<vfs>
<dir name="dev"> <log/> </dir>

View File

@@ -37,29 +37,6 @@ set config {
<any-service><parent/><any-child/></any-service>
</route>
</start>
<start name="hoitaja" caps="62000">
<resource name="RAM" quantum="250G"/>
<affinity xpos="0" ypos="0" width="64" height="1"/>
<config>
<affinity-space width="64" height="1"/>
<parent-provides>
<service name="LOG"/>
<service name="PD"/>
<service name="CPU"/>
<service name="ROM"/>
<service name="RAM"/>
<service name="IRQ"/>
<service name="IO_MEM"/>
<service name="IO_PORT"/>
<service name="CAP"/>
<service name="RM"/>
<service name="SIGNAL"/>
<service name="TOPO"/>
<service name="Timer"/>
</parent-provides>
<default-route>
<any-service><parent/><any-child/></any-service>
</default-route>
<default caps="200"/>
<start name="parent">
<affinity xpos="1" ypos="0" width="1" height="1"/>
@@ -72,12 +49,6 @@ set config {
</route>
</start>
</config>
<route>
<service name="Timer"> <child name="timer"/> </service>
<any-service><parent/><any-child/></any-service>
</route>
</start>
</config>
}
install_config $config

View File

@@ -1,5 +1,5 @@
set build_components {
core init timer app/blinktree app/top
core init timer app/blinktree hoitaja
}
source ${genode_dir}/repos/base/run/platform_drv.inc
@@ -24,15 +24,13 @@ set config {
<service name="TOPO"/>
<service name="TRACE"/>
</parent-provides>
<affinity-space width="32" height="1"/>
<default-route>
<any-service><parent/><any-child/></any-service>
</default-route>
<default caps="200"/>
<start name="timer">
<resource name="RAM" quantum="8M"/>
<resource name="RAM" quantum="16M"/>
<!--<resource name="CPU" quantum="10"/>-->
<affinity xpos="0" ypos="0" width="1" height="1"/>
<provides><service name="Timer"/></provides>
<route>
<any-service><parent/><any-child/></any-service>
@@ -41,48 +39,37 @@ set config {
}
append config {
<start name="hoitaja" caps="62000">
<resource name="RAM" quantum="250G"/>
<provides><service name="TASKING"/></provides>
<config prio_levels="32">
<parent-provides>
<service name="LOG"/>
<service name="PD"/>
<service name="CPU"/>
<service name="ROM"/>
<service name="RAM"/>
<service name="IRQ"/>
<service name="IO_MEM"/>
<service name="IO_PORT"/>
<service name="CAP"/>
<service name="RM"/>
<service name="SIGNAL"/>
<service name="TOPO"/>
<service name="Timer"/>
<service name="TASKING"/>
<service name="TRACE"/>
</parent-provides>
<default-route>
<any-service><parent/><any-child/></any-service>
</default-route>
<default caps="600"/>
<affinity-space width="64" height="1"/>
<start name="blinktree1" caps="1000">
<binary name="blinktree"/>
<affinity xpos="1" ypos="0" width="16" height="1"/>
<resource name="RAM" quantum="75G"/>
<!--<resource name="CPU" quantum="90"/>-->
<route>
<service name="Timer"> <child name="timer"/> </service>
<any-service> <parent/> <any-child/> </any-service>
</route>
<config>
<vfs>
<dir name="dev">
<log/>
<inline name="rtc">2022-07-20 14:30</inline>
</dir>
<dir name="workloads">
<rom name="fill_randint_workloada"/>
<rom name="mixed_randint_workloada"/>
</dir>
</vfs>
<libc stdout="/dev/log" stderr="/dev/log" rtc="/dev/rtc"/>
</config>
</start>
<!--
<start name="top">
<resource name="RAM" quantum="2M"/>
<affinity xpos="0" ypos="0" width="1" height="1"/>
<route>
<service name="Timer"> <child name="timer"/> </service>
<any-service> <parent/> </any-service>
</route>
<config period_ms="1000" sort_time="ec"/>
</start>-->
<!--
<start name="blinktree2" caps="1000">
<binary name="blinktree"/>
<affinity xpos="1" ypos="0" width="1" height="1"/>
<resource name="RAM" quantum="60G"/>
<route>
<service name="Timer"> <child name="timer"/> </service>
<any-service> <parent/> <any-child/> </any-service>
</route>
<config>
<vfs>
<dir name="dev">
@@ -98,14 +85,11 @@ append config {
</config>
</start>
<start name="blinktree3" caps="1000">
<start name="blinktree2" caps="1000">
<binary name="blinktree"/>
<affinity xpos="1" ypos="0" width="1" height="1"/>
<resource name="RAM" quantum="60G"/>
<route>
<service name="Timer"> <child name="timer"/> </service>
<any-service> <parent/> <any-child/> </any-service>
</route>
<config>
<vfs>
<dir name="dev">
@@ -120,6 +104,25 @@ append config {
<libc stdout="/dev/log" stderr="/dev/log" rtc="/dev/rtc"/>
</config>
</start>
<start name="blinktree3" caps="1000">
<binary name="blinktree"/>
<affinity xpos="1" ypos="0" width="1" height="1"/>
<resource name="RAM" quantum="60G"/>
<config>
<vfs>
<dir name="dev">
<log/>
<inline name="rtc">2022-07-20 14:30</inline>
</dir>
<dir name="workloads">
<rom name="fill_randint_workloada"/>
<rom name="mixed_randint_workloada"/>
</dir>
</vfs>
<libc stdout="/dev/log" stderr="/dev/log" rtc="/dev/rtc"/>
</config>
</start>
<!--
<start name="blinktree4" caps="1000">
<binary name="blinktree"/>
@@ -210,16 +213,35 @@ append config {
</config>
</start>-->
</config>
<route>
<service name="Timer"> <child name="timer"/> </service>
<any-service><parent/><any-child/></any-service>
</route>
</start>
</config>
}
install_config $config
set boot_modules {
core init timer vfs.lib.so ld.lib.so libm.lib.so libc.lib.so stdcxx.lib.so posix.lib.so blinktree top fill_randint_workloada mixed_randint_workloada
core init timer vfs.lib.so ld.lib.so libm.lib.so libc.lib.so stdcxx.lib.so hoitaja blinktree fill_randint_workloada mixed_randint_workloada
}
append_platform_drv_boot_modules
build_boot_image $boot_modules
append qemu_args "-nographic"
run_genode_until forever
set rounds 100
set succeeded 0
for {set r 0} {$r < $rounds} {incr r} {
run_genode_until {\[init -> hoitaja -> blinktree1\] Finished\.} 300
kill_spawned [output_spawn_id]
incr succeeded
}
puts "$succeeded of $rounds rounds succeeded."

View File

@@ -1,5 +1,5 @@
set build_components {
core init timer app/hello_mxtask
core init timer hoitaja app/hello_mxtask
}
source ${genode_dir}/repos/base/run/platform_drv.inc
@@ -19,16 +19,18 @@ set config {
<service name="IRQ"/>
<service name="IO_MEM"/>
<service name="IO_PORT"/>
<service name="CAP"/>
<service name="RM"/>
<service name="SIGNAL"/>
<service name="TOPO"/>
<service name="TRACE"/>
</parent-provides>
<affinity-space width="32" height="1"/>
<default-route>
<any-service><parent/><any-child/></any-service>
</default-route>
<default caps="200"/>
<start name="timer">
<resource name="RAM" quantum="1M"/>
<resource name="RAM" quantum="16M"/>
<provides><service name="Timer"/></provides>
<route>
<any-service><parent/><any-child/></any-service>
@@ -36,9 +38,33 @@ set config {
</start>
}
append_platform_drv_config
append config {
<start name="hoitaja" caps="62000">
<resource name="RAM" quantum="250G"/>
<provides><service name="TASKING"/></provides>
<config prio_levels="32">
<parent-provides>
<service name="LOG"/>
<service name="PD"/>
<service name="CPU"/>
<service name="ROM"/>
<service name="RAM"/>
<service name="IRQ"/>
<service name="IO_MEM"/>
<service name="IO_PORT"/>
<service name="CAP"/>
<service name="RM"/>
<service name="SIGNAL"/>
<service name="TOPO"/>
<service name="Timer"/>
<service name="TASKING"/>
<service name="TRACE"/>
</parent-provides>
<default-route>
<any-service><parent/><any-child/></any-service>
</default-route>
<default caps="600"/>
<affinity-space width="32" height="1"/>
<start name="hello_mxtask">
<resource name="RAM" quantum="16G"/>
<affinity xpos="0" ypos="0" width="16" height="1"/>
@@ -46,19 +72,24 @@ append config {
<vfs> <dir name="dev">
<log/>
<inline name="rtc">2022-07-20 14:30</inline>
<terminal raw="yes"/>
</dir>
</vfs>
<libc stdout="/dev/log" stderr="/dev/log" rtc="/dev/rtc"/>
</config>
</start>
</config>
<route>
<service name="Timer"> <child name="timer"/> </service>
<any-service><parent/><any-child/></any-service>
</route>
</start>
</config>
}
install_config $config
set boot_modules {
core init timer vfs.lib.so libm.lib.so libc.lib.so stdcxx.lib.so ld.lib.so hello_mxtask
core init timer vfs.lib.so libm.lib.so libc.lib.so stdcxx.lib.so ld.lib.so hello_mxtask hoitaja
}
append_platform_drv_boot_modules

View File

@@ -30,7 +30,7 @@ install_config {
<!--<affinity-space width="32" height="1"/>-->
<default caps="2000"/>
<start name="timer">
<resource name="RAM" quantum="1M"/>
<resource name="RAM" quantum="16M"/>
<provides><service name="Timer"/></provides>
<route>
<any-service><parent/><any-child/></any-service>
@@ -100,7 +100,6 @@ install_config {
<libc stdout="/dev/log" stderr="/dev/log" rtc="/dev/rtc"/>
</config>
</start>
-->
<start name="sleepy_cell2" priority="-1">
<binary name="volatile_cell"/>
<resource name="RAM" quantum="128M"/>
@@ -108,6 +107,7 @@ install_config {
<any-service><parent/><any-child/></any-service>
</route>
</start>
-->
<!--
<start name="rpc_bench4" priority="-1">
<binary name="portal_experiment"/>

View File

@@ -42,6 +42,7 @@ append config {
<service name="RM"/>
<service name="CPU"/>
<service name="LOG"/>
<service name="TOPO"/>
</parent-provides>
<default-route>
<any-service> <parent/> <any-child/> </any-service>
@@ -53,8 +54,8 @@ append config {
<provides><service name="Timer"/></provides>
</start>
<start name="drivers" caps="1000" managing_system="yes">
<resource name="RAM" quantum="32M"/>
<start name="drivers" caps="2000" managing_system="yes">
<resource name="RAM" quantum="512M"/>
<binary name="init"/>
<route>
<service name="ROM" label="config"> <parent label="drivers.config"/> </service>
@@ -65,7 +66,7 @@ append config {
</start>
<start name="nic_router" caps="200">
<resource name="RAM" quantum="10M"/>
<resource name="RAM" quantum="20M"/>
<provides>
<service name="Nic"/>
<service name="Uplink"/>
@@ -103,7 +104,7 @@ append config {
<start name="ping_2_nic_router" caps="200">
<binary name="nic_router"/>
<resource name="RAM" quantum="10M"/>
<resource name="RAM" quantum="20M"/>
<provides>
<service name="Nic"/>
<service name="Uplink"/>