[haiku-development] Re: Networking speed

  • From: Marcus Overhagen <marcusoverhagen@xxxxxxxx>
  • To: haiku-development@xxxxxxxxxxxxx
  • Date: Fri, 18 Jul 2008 14:17:32 +0200

Oliver Tappe schrieb:
Hi there,

the last two days I have spent some time doing networking benchmarks with netperf on different operating systems in order to get more than just a feeling about how our own netstack performs compared to others.

As I believe the localhost interface should be the least complicated to analyze (with no hardware to interfere), the results below reflect only the tests that were run on that interface.

When I wrote the rtl8169 gigabit network driver, I made a lot of performance tests with zeta. I noticed that the worst source of slowdown was the latency introduced by one thread releasing a semaphore, and another waiting for it before it continued to work.

Especially driver design that releases a semaphore inside the interrupt handler, and had a thread that waits for it, will experience a slowdown if the scheduler doesn't schedule it immediatelly.

When CPU utilization is below 100% during your tests, then the slowdown is not the result of memcpy overhead, but is caused be the scheduling.

Since the haiku scheduler seems to be especially bad in this regard, as
visible with audio playback threads beeing scheduled too late often, I think you should have a look into this direction.

regards
Marcus

Other related posts: