au-ts / sddf

A collection of interfaces, libraries and tools for writing device drivers for seL4 that allow accessing devices securely and with low overhead.
BSD 2-Clause "Simplified" License
13 stars 11 forks source link

VirtIO network driver peformance. #113

Open Kswin01 opened 1 month ago

Kswin01 commented 1 month ago

Whilst testing the VirtIO net driver with the UDP echo socket, we ended up stalling the driver once requested through-puts reached approximately 600-700 Mbps and with 100,00 samples. It is able to match the requested through-put up until this limit. On inspection we stopped receiving IRQ's from QEMU before we completed the ipbench run.

On testing with the TCP echo server, we don't stall the driver when tested up to 1 Gbps and with 200,000 samples.

Ivan-Velickovic commented 6 days ago

Noticed by, @alwin-joshy, there is an overflow in the ARM timer driver here: https://github.com/au-ts/sddf/blob/52bcc48316b12705a01ace8c0045e20f98558739/drivers/clock/arm/timer.c#L95.

This may be why we could never finish an echo server run. Once we fix the bug we should re-run and see if anything has changed with the echo server.