[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [MirageOS-devel] Parallelizing writing to network devices
> On 27 Nov 2014, at 16:56, Masoud Koleini <masoud.koleini@xxxxxxxxxxxxxxxx> > wrote: > > Hi all, > > Wondering about the semantics of Lwt_ring and Netif.write. I am writing a > code that sends an Lwt_stream of frames over a network device using > Netif.write with highest possible rate and preferably respecting frame > ordering. Another thread pushes frames into this stream. > > To parallelize writing to the output device, a recursive iteration over the > stream extracts every element using Lwt_stream.next, and calls Netif.write > under Lwt.ignore_result. Threads stop functioning with no error printed on > the console at high packet rates. Any suggestion? That should work, to my understanding. The next step is to figure out what's blocking: - if an event is being lost, then try to prod the ring to wake up with external stimulus (e.g. pinging the interface). - graph the ring utilisation to see if it's always full (Thomas Leonard's profiling patches should help here) - try to reduce the parallelisation to see if some condition there alleviates the issue to track it down. -anil _______________________________________________ MirageOS-devel mailing list MirageOS-devel@xxxxxxxxxxxxxxxxxxxx http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |