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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions