Hello, Michael. On Thu, Mar 31, 2016 at 08:17:13AM +0200, Michael Rapoport wrote: > > There really shouldn't be any difference when using unbound > > workqueues. workqueue becomes a convenience thing which manages > > worker pools and there shouldn't be any difference between workqueue > > workers and kthreads in terms of behavior. > > I agree that there really shouldn't be any performance difference, but the > tests I've run show otherwise. I have no idea why and I hadn't time yet to > investigate it. I'd be happy to help digging into what's going on. If kvm wants full control over the worker thread, kvm can use workqueue as a pure threadpool. Schedule a work item to grab a worker thread with the matching attributes and keep using it as it'd a kthread. While that wouldn't be able to take advantage of work item flushing and so on, it'd still be a simpler way to manage worker threads and the extra stuff like cgroup membership handling doesn't have to be duplicated. > > > opportunity for optimization, at least for some workloads... > > > > What sort of optimizations are we talking about? > > Well, if we take Evlis (1) as for the theoretical base, there could be > benefit of doing I/O scheduling inside the vhost. Yeah, if that actually is beneficial, take full control of the kworker thread. Thanks. -- tejun -- 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