fuse-mt icon indicating copy to clipboard operation
fuse-mt copied to clipboard

Move dispatch of requests to seperate thread

Open snakehand opened this issue 6 years ago • 0 comments

I am having some performance problems that appear to be caused by my slowness to handle getattr() requests. I am reformatting data on the fly, so determining the size of a reformatted file is a relatively expensive operation. (NFS seems to be aggressive with sending getattr() also )

But what also seems to be happening in my scenario is that the request dispatch stalls when I handling getattr() - so I get starvation when handling read() requests. ( I.e. no request will be handed to the thread pool while the main thread is busy processing its own requests )

I am think that a better solution would be to have a dedicated dispatch thread, 1 main thread for handling requests that should be handled synchronously, and use the theeadpool for requests that can be handled asynchronously. This way the dispatch won't block,

snakehand avatar Feb 22 '19 07:02 snakehand