Skip to content

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

@Peter-JanGootzen

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)

Metadata

Metadata

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions