-
Notifications
You must be signed in to change notification settings - Fork 689
Description
Environment
- Windows version: Win10
- Processor architecture: x64, 2 threads
- Dokany version: 2.1.0
- Library type (Dokany/FUSE): FUSE
Check List
- I checked my issue doesn't exist yet
- My issue is valid with mirror default sample and not specific to my user-mode driver implementation
- I can always reproduce the issue with the provided description below.
- I have updated Dokany to the latest version and have reboot my computer after.
- I tested one of the last snapshot from appveyor CI
Description
I have been experimenting with the FUSE wrapper, but I got stuck with 2 threads. Is there a way to increase the amount of threads or spawn more threads without recompiling Dokany? On Linux, FUSE is a lot faster when dealing with multiple high latency reads, because it doesn't block IO, that's why I think min thread count should be increased, or at least customizable.
CHANGELOG:
DOKAN_OPTIONS.ThreadCount
was replaced byDOKAN_OPTIONS.SingleThread
since the library now uses a thread pool that allocates workers depending on workload and the available resources.
I assume this was possible before, but now it depends on the CPU thread count:
Lines 791 to 798 in 415ac36
DWORD mainPullThreadCount = 0; | |
if (GetProcessAffinityMask(GetCurrentProcess(), &processAffinityMask, | |
&systemAffinityMask)) { | |
while (processAffinityMask) { | |
mainPullThreadCount += 1; | |
processAffinityMask >>= 1; | |
} | |
} else { |
I'd suggest adding a way of changing thread count in Dokany & FUSE.