Hi again Anna,
for the future, please sent your replies at the bottom not the top, like I am doing now .-)
On 01/28/2014 11:58 AM, Анна Будкина wrote:
I'm measuring throughput between two hosts. I use genode running on fiasco.OC on one machine and monolithic Linux on another machine. There's 82579LM NIC on each host. I'm running netperf_lxip.run script. As acpi driver doesn't work on my machine i'm using pci_drv driver. Another problem is that level-triggered interrupts are not recieved and i'm polling interrupts in the internal cycle in /os/src/lib/dde_kit/interrupt.cc: while (1) { _lock.lock(); if (_handle_irq) _handler(_priv); _lock.unlock(); }
//while (1) { //_irq.wait_for_irq(); /* only call registered handler function, if IRQ is not
disabled */ //_lock.lock(); //if (_handle_irq) _handler(_priv); //_lock.unlock(); //} I've done the same thing while testing l4re network stack and it didn't affect performance then.
It sounds like as if you are using an x86 machine - right? Polling is a no go and I have tried to fix the interrupt-mode issue (edge vs. level vs. low and high) on Fiasco OC on several occasions. Unfortunately, there seems to be no universal solution to that. Maybe you should ask about that one on the L4Hackers mailing list: l4-hackers@...28...
If you can afford it and if you're running on x86, please try the Nova version of Genode and let me know about the outcome, performance-wise of course. I appreciate any hints why the ACPI-driver is not working (other then it is not an x86 computer of course).
For the book: I cannot recommend the changes above!
Sebastian