Avi Kivity wrote: > Gregory Haskins wrote: > > > >>> It's more of a "schedule and forget" which I think brings you the >>> win. The host disables notifications and schedules the actual tx work >>> (rx from the host's perspective). So now the guest and host continue >>> producing and consuming packets in parallel. So long as the guest is >>> faster (due to the host being throttled?), notifications continue to >>> be disabled. >>> >> Yep, when the "producer::consumer" ratio is > 1, we mitigate >> signaling. When its < 1, we signal roughly once per packet. >> >> >>> If you changed your rx_isr() to process the packets immediately >>> instead of scheduling, I think throughput would drop dramatically. >>> >> Right, that is the point. :) This is that "soft asic" thing I was >> talking about yesterday. >> > > But all that has nothing to do with where the code lives, in the > kernel or userspace. Agreed, but note Ive already stated that some of my boost is likely from in-kernel, while others are unrelated design elements such as the "soft-asic" approach (you guys dont read my 10 page emails, do you? ;). I don't deny that some of my ideas could be used in userspace as well (Credit if used would be appreciated :). -Greg