On Mon, Nov 09, 2020 at 09:35:48AM -0500, Vivek Goyal wrote: > Right now we create a thread pool and main thread hands over the request > to thread in thread pool to process. Number of threads in thread pool > can be managed by option --thread-pool-size. > > In tests we have noted that many of the workloads are getting better > performance if we don't use a thread pool at all and process all > the requests in the context of a thread receiving the request. > > Hence give user an option to be able to run virtiofsd without using > a thread pool. > > To implement this, I have used existing option --thread-pool-size. This > option defines how many maximum threads can be in the thread pool. > Thread pool size zero freezes thead pool. I can't see why will one > start virtiofsd with a frozen thread pool (hence frozen file system). > So I am redefining --thread-pool-size=0 to mean, don't use a thread pool. > Instead process the request in the context of thread receiving request > from the queue. > > Signed-off-by: Vivek Goyal <vgo...@redhat.com> > --- > tools/virtiofsd/fuse_virtio.c | 36 ++++++++++++++++++++++++++--------- > 1 file changed, 27 insertions(+), 9 deletions(-)
This is useful for benchmarking. For production we need to understand the cause of the performance difference so that virtiofsd can adapt to the workload without setting a specific thread-pool-size value. Reviewed-by: Stefan Hajnoczi <stefa...@redhat.com>
signature.asc
Description: PGP signature