Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
3 of 8 tasks
Peter-JanGootzen opened this issue Dec 18, 2022 · 0 comments
Open
3 of 8 tasks

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

Peter-JanGootzen opened this issue Dec 18, 2022 · 0 comments
Assignees

Comments

@Peter-JanGootzen
Copy link
Contributor

Peter-JanGootzen commented Dec 18, 2022

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)
@Peter-JanGootzen Peter-JanGootzen added this to the Paper experiments milestone Dec 18, 2022
@Peter-JanGootzen Peter-JanGootzen self-assigned this Dec 18, 2022
@Peter-JanGootzen Peter-JanGootzen changed the title Virtio-fs driver in Linux does not support multi-queue Virtio-fs Linux driver does not support multi-queue Dec 18, 2022
@Peter-JanGootzen Peter-JanGootzen pinned this issue Dec 18, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant