2014-09-29 5:04 GMT-04:00 Michael S. Tsirkin <mst@xxxxxxxxxx>: > On Wed, Sep 24, 2014 at 02:40:53PM -0400, David Xu wrote: >> Hi Michael, >> >> I found this interesting project from KVM TODO website: >> >> allow handling short packets from softirq or VCPU context >> Plan: >> We are going through the scheduler 3 times >> (could be up to 5 if softirqd is involved) >> Consider RX: host irq -> io thread -> VCPU thread -> >> guest irq -> guest thread. >> This adds a lot of latency. >> We can cut it by some 1.5x if we do a bit of work >> either in the VCPU or softirq context. >> Testing: netperf TCP RR - should be improved drastically >> netperf TCP STREAM guest to host - no regression >> >> Would you mind saying more about the work either in the vCPU or >> softirq context? > > For TX, we might be able to execute it directly from VCPU context. > For RX, from softirq context. > Which step is removed for TX and RX compared with vanilla? Or what's the new path? TX: guest thread-> host irq? TX: host irq-> ? Thanks. >> Why it is only for short packets handling? > > That's just one idea to avoid doing too much work like this. > > Doing too much work in VCPU context would break pipelining, > likely degrading stream performance. > Work in softirq context is not accounted against the correct > cgroups, doing a lot of work there will mean guest can steal > CPU from other guests. > >> Thanks a >> lot! >> >> >> Regards, >> >> Cong -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html