Skip to content

Possibility to increase thread count & change DOKAN_OPTION_ALLOW_IPC_BATCHING? (FUSE) #1202

@algj

Description

@algj

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 by DOKAN_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:

dokany/dokan/dokan.c

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions