[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: Improving the network-stack performance over Xen
Hi Dimos, I've created a new patch set based on a mix of your ideas and mine: I've proposed switching to SCHEDOP_block with interrupts enabled. Unlike in regular Mini-OS I don't think we need to do anything in the hypervisor_callback, because we already have code to poll the evtchn pending bits in evtchn_poll-- so we're a bit of a hybrid: interrupts on for wakeups but the whole OS is still based around a select/poll-style loop. I've left all event channels unmasked and used the event_upcall_mask to turn on/off event delivery globally. I've revamped the OCaml Activations interface to remove one source of missing events.
So far the code is working ok in my testing. I ran mirage-iperf and am getting 1642002 KBit/sec on my test hardware -- I don't know if this is considered good or bad! I ran your instrumented version (thanks for the exhaustive instructions btw) and it drew some pretty graphs, but I'm not enough of a TCP expert to interpret them properly.
Could you give this a go in your test environment and let me know what you think? I'm extremely suspicious of the console code -- it shouldn't be necessary to include a delay in the print loop; that's definitely worth investigating.
Cheers, Dave On Thu, Sep 19, 2013 at 11:02 AM, David Scott <scott.dj@xxxxxxxxx> wrote:
Dave Scott
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |