Commit Graph

1660 Commits

Author SHA1 Message Date
Alexander Boettcher 731493641b run: add netperf tests to autopilot list
* native Genode (using lwIP) netperf
as
* L4Linux netperf
2013-07-11 12:40:19 +02:00
Alexander Boettcher 1fa27bb16c run: prepare netperf l4lx output for post processing
Issue #794.
2013-07-11 12:40:10 +02:00
Alexander Boettcher bdd145f62d run: split netperf l4linux script
Split the netperf run script into 3 ones so that it can be used more easily
in an automated run.

It is solely for foc_arndale by now.

l4linux_netperf.run        - use nic via usb2.0
l4linux_netperf-usb30.run  - use nic via usb3.0
l4linux_netperf-bridge.run - use nic via usb3.0 + bridge
2013-07-11 11:02:04 +02:00
Alexander Boettcher a1a790664e run: check for netperf version in user environment
For L4linux version on foc_arndale.
2013-07-11 11:02:04 +02:00
Alexander Boettcher 05d807db75 run: split native Genode netperf script
Split the netperf run script into 3 ones so that it can be used more easily
in an automated run.

netperf.run        - use native nic driver (x86) or usb2.0 (arndale, panda)
netperf_usb30.run  - use native nic driver (x86) or usb3.0
netperf_bridge.run - use native nic driver (x86) or usb3.0 (arndale) and bridge

Issue #794
2013-07-11 11:01:37 +02:00
Alexander Boettcher 400037a5b0 run: check for netperf version in user environment
For native Genode netperf port.
2013-07-09 18:57:30 +02:00
Christian Helmuth 4807d469ca Revert "usb_drv: Wait for IRQ on SKB exhaustion"
The fix overly influences gigabit ethernet performance (~200 MBit), so,
we need to investigate further.

This reverts commit aacb91f22a.

Reopen #788.
2013-07-08 15:55:31 +02:00
Alexander Boettcher 241c0f38a4 run: remove tar file also after native runs
Fixes #679
2013-07-05 12:46:56 +02:00
Norman Feske 92cb97c05b Let Git ignore libports/include/x86emu
The headers are mere symlinks created via 'make prepare'.
2013-07-05 12:43:26 +02:00
Christian Prochaska 02c0fa85cf nic_bridge: increase entrypoint stack size
Issue #782
2013-07-05 12:37:43 +02:00
Christian Prochaska c962240922 crt0 cleanup
- use the generic 'crt0.s' for Linux
- move the read-only '__dso_handle' definition into the '.text' section
- move the '__initial_sp' definition into the '.bss' section
- remove the '_main_utcb' definition

Part of #766.
2013-07-05 12:37:43 +02:00
Martin Stein 1b96e8a7e1 hw: use generic genode.ld
Ref #766
2013-07-05 12:37:43 +02:00
Martin Stein ee4c98e093 base: provide BSS boundary marks in genode.ld
This enables us to use the generic linker script for
base-hw also.

Ref #766
2013-07-05 12:37:43 +02:00
Martin Stein 6b42fff30e hw: use generic crt0.s for progs other than core
Use '__initial_sp' instead of '_main_utcb' to receive a main threads
UTCB pointer outside core.

Ref #766
2013-07-05 12:37:42 +02:00
Martin Stein e20b773bef hw & arm: use sp to hand out main UTCB pointer
Also don't hand out UTCB pointers to cores main thread and to threads
other than main threads.

Ref #766
2013-07-05 12:37:42 +02:00
Martin Stein 5a3e340699 hw: initialize Platform_thread::_main_thread right
Ref #766
2013-07-05 12:37:42 +02:00
Josef Söntgen cb76c0c45f core: remove hardcoded 'init' from Log output
Until now the print procedure call in the Log_session_component
did contain a hardcoded 'init' string. Adding a method to filter
the session args to prefix the label and labelling the initial
Cpu_connection for the init-process enabled us to remove the
hardcoded string.

Fixes #789.
2013-07-05 12:37:42 +02:00
Josef Söntgen 136af3764d core: add session args filter to Core_child
Add the filter_session_args() method to Core_child to prefix the labels
of its children.

Fixes #789.
2013-07-05 12:37:42 +02:00
Josef Söntgen 4ba17f7ebd core: use label for init's Cpu_session
Fixes #789.
2013-07-05 12:37:42 +02:00
Josef Söntgen dad3f32d0b linux: thread name wrongly truncated by one byte
The terminating NUL char was not considerd in the calculation of
the space needed for storing the string.

Fixes #790.
2013-07-05 12:37:42 +02:00
Josef Söntgen 29b8370f73 noux: add local cpu and ram service
Use a local CPU service to prevent a redirection to noux' parent (in
this case init which does not know noux' local capabilities).

Fixes #791.
2013-07-05 12:37:42 +02:00
Josef Söntgen 9ec791db9a base: add method to withdraw memory w/o allocating
The given number of bytes is consumed but not actually allocated. This
feature may be used for accounting and use memory within core which is
in fact provided by a session client.

Fixes #792.
2013-07-05 12:37:42 +02:00
Stefan Kalkowski 0ba40d01ca Don't use daemonized telnet in netcat run-script
Fix #782
2013-07-05 12:37:42 +02:00
Norman Feske b7e553d4db nic_bridge: Documentation update 2013-07-05 12:37:41 +02:00
Norman Feske 129c77f02b doc: Update location of VESA driver 2013-07-05 12:37:41 +02:00
Stefan Kalkowski 1904a223e8 Check md5 sum of initramfs file in l4lx run-script
* Always download md5sum file and check downloaded binaries
* Extend sleep time in l4linux_netperf script, so that DHCP has enough time
* Fix regexp rule in l4linux_netperf run script to work with MAC addresses
  containing only numbers

Fix #787
2013-07-05 12:37:41 +02:00
Sebastian Sumpf aacb91f22a usb_drv: Wait for IRQ on SKB exhaustion
Do not use 'wait_event' when SKB-backend allocation fails, explicitly wait for
an interrupt, which in turn frees SKBs, instead.

Fixes issue #788
2013-07-02 08:50:40 +02:00
Norman Feske 2045fffe2a ports-foc: assert use of 32-bit platforms
L4Linux does not support x86_64. Detect this case early in the run
script.
2013-06-30 13:48:10 +02:00
Norman Feske 9bff8c454a ports-foc: Mention prepare step of dde_ipxe
Thanks to Rudolf Weber for reporting.
2013-06-30 13:44:40 +02:00
Martin Stein 0613e52a49 ahci & exynos5: adjust ouput format in ahci_bench 2013-06-28 17:23:31 +02:00
Martin Stein 4fe093b01b ahci & exynos5: opt-in app and part in ahci_bench 2013-06-28 17:23:25 +02:00
Martin Stein 118ca20a2f ahci & exynos5: do test repetitions in ahci_bench 2013-06-28 17:23:17 +02:00
Alexander Boettcher e3c3f9f44f run: restrict ports solely for qemu case
Sometimes the ports are not freed up quick enough by the host system after the
first test finished. The port restriction is mainly required for qemu, so don't
use it for bare metal hardware tests.
2013-06-28 16:21:08 +02:00
Stefan Kalkowski 089f8dcfc8 Extend l4linux_dynamic run-script with SATA driver
* Add platform_drv for usb_drv, sd_card_drv and ahci
* Add ahci driver and part_blk on top of it
* add linux instance using SATA partition
* add VIM using SATA partition
2013-06-28 16:18:15 +02:00
Stefan Kalkowski 9263079f70 USB 3.0 & exynos5: don't close regulator session
When leaving constructor of EHCI & XHCI driver don't close the regulator session,
otherwise it'll power down the device.
2013-06-28 14:27:27 +02:00
Stefan Kalkowski acc24b5905 Switch off regulators when closing session 2013-06-28 14:24:34 +02:00
Stefan Kalkowski 717e4dd362 Let genode_org run script work on various platforms 2013-06-28 14:22:45 +02:00
Alexander Boettcher fd7683f6ea lwip: use memcpy of Genode 2013-06-27 20:12:43 +02:00
Alexander Boettcher 4c9cee24de run: add nic_bridge to netperf native test 2013-06-27 20:12:36 +02:00
Alexander Boettcher 776a8d3f8c lwip: set to max snd window which is known to work
The window scale option (http://tools.ietf.org/html/rfc1323) patch of lwIP
definitely works solely for the receive window, not for the send window.
Setting the send window size to the maximum of an 16bit value, 65535,
or multiple of it (x * 65536 - 1) results in the same performance.

Everything else decrease performance.

We will have to check this window scale patch before using higher values.
2013-06-27 20:12:29 +02:00
Alexander Boettcher 4925f77dac run: skip libc_ffat test for non qemu test runs
Print a warning that the sd respectively hard disc must be prepared manually.

Fixes #783
2013-06-27 20:12:23 +02:00
Stefan Kalkowski 68ba7a0b57 L4Linux ARM: enable ext4 by default 2013-06-27 20:03:36 +02:00
Alexander Boettcher d822b82f5b lwip: align the pbuf on 32 resp. 64 bit addresses
Minor speed improvements of ~6Mbit. Additionally a ethernet frame fits now
into one memory allocation per pbuf. Beforehand two were allocated - one being
1514 bytes and another one being 2 bytes (monitored by instrumenting copy loop
in libports/src/lib/lwip/platform/nic.cc).
2013-06-26 17:42:11 +02:00
Alexander Boettcher 8d9e7d0da2 lwip: set some reasonable default rcv buf size
lwip reports via getsockopt the size of the default size of the receive buffer
to the netperf server. lwip returns 2GB and netperf server uses this value to
allocate some buffers - which of course fails with out of memory.

Reduces the "default size" to some smaller value.

With the commit we are not forced anymore to (but still can) use specific
netperf client options regarding memory allocations of the receive buffer.
2013-06-26 17:42:02 +02:00
Alexander Boettcher e35dbd3353 run: add TCP_MAERTS to netperf test
MAERTS is STREAM backwards and effectively lets the netserver sends the packets
to the netperf client. So, TCP_STREAM measure the receive performance of the
lwIP stack on Genode and TCP_MAERTS the send performance of the lwIP stack
on Genode.
2013-06-26 17:41:54 +02:00
Martin Stein 198f8b65a4 ahci & exynos5: compliant exceptions on creation
Use Root::Unavailable exceptions instead of driver specific ones
on session construction.
2013-06-26 16:02:30 +02:00
Stefan Kalkowski cfa3d38417 Use Genode's memcpy in L4Linux block driver 2013-06-26 16:02:20 +02:00
Martin Stein 276dbdab60 l4lx: raise block TX buffer size to 5 MiB
Buffer sizes lower than 5 MiB slow down the Arndale AHCI benchmark
with fast 6 Gbps SSDs and 1MiB blocks.
2013-06-26 16:02:13 +02:00
Martin Stein 9d23cdc27f part_blk: raise max packet size to 1 MiB
This is because the old packet size of 128 KiB slowed
down l4linux AHCI benchmark on arndale with large block sizes.
2013-06-26 15:05:20 +02:00
Martin Stein 3fb7e74287 ahci & exynos5: avoid large DMA buf in AHCI bench
Normally this bench has read all data to one large buffer and
than written it back to the drive but for SATA 3 (6 Gbps) benchmarks
we would need a buffer of approximately 1.2 GB to do it this way
and reach 2 seconds bench time. Thus we use a buffer of SATA request size
and override it with every request.
2013-06-26 15:05:20 +02:00