Skip to content

Virtio-fs Linux driver does not support multi-queue #24

Description

@Peter-JanGootzen

Problem
https://elixir.bootlin.com/linux/latest/C/ident/virtio_fs_wake_pending_and_unlock

In the virtio_fs_wake_pending_and_unlock function the queue on which the request will be put, is hardcoded to a single virtio-fs request queue.

Execution
Development is happening here: https://github.com/Peter-JanGootzen/linux

TODO:

  • Select queue depending on CPU id
  • Fix needing to use get_cpu (smp_processor_id seems not to be allowed in tasks, but get_cpu disables preemption)
  • Set interrupt affinity
  • Simple cat test (only runs cat on a single core)
  • Big Ubuntu fio test (multi-core, check whether it actually goes into different queues with debugfs)
  • CPU Hotplugging (see virtio-net)
  • Implement round-robin queue scheduling (using atomics) in virtio-fs for comparison
  • Send it in as a formal patch (not a priority, but would be good for the paper)

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Type

No type

Projects

No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions