Hi all,
I measured network I/O performance of native Linux-2.4 and Fiasco-1.2+L4Linux-2.4 using the netperf benchmark.
The TCP streaming test results are following:
Recv Socket Size bytes: Linux = 87380, L4Linux = 87380 Send Socket Size bytes: Linux = 16384, L4Linux = 16384 Send Message Size bytes: Linux = 16384, L4Linux=16384 Elapsed Time secs: Linux = 10.002, L4Linux = 10.002 Throughput MBytes/s: Linux = 11.22, L4Linux = 11.206 Utilization Send local % S: Linux = 11.359, L4Linux = 4.35 ...
The last 2 lines indicates the network I/O throughput and CPU utilization for the network I/O. One weird thing is the L4Linux CPU utilization. It spent much less CPU cycles than the native Linux did.
In my humble opinion, it is normal case because the L4 Fiasco schedules the L4Linux application (netperf) as a L4 process and L4Linux kernel doesn't have correct CPU usage information of the application.
Is it correct?