Skip to content
GitLab
    • GitLab: the DevOps platform
    • Explore GitLab
    • Install GitLab
    • How GitLab compares
    • Get started
    • GitLab docs
    • GitLab Learn
  • Pricing
  • Talk to an expert
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
    • Switch to GitLab Next
    Projects Groups Topics Snippets
  • Register
  • Sign in
  • QEMU QEMU
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributor statistics
    • Graph
    • Compare revisions
    • Locked files
  • Issues 795
    • Issues 795
    • List
    • Boards
    • Service Desk
    • Milestones
    • Iterations
    • Requirements
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Artifacts
    • Schedules
    • Test cases
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Package Registry
    • Container Registry
    • Terraform modules
    • Model experiments
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Insights
    • Issue
    • Repository
  • External wiki
    • External wiki
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • QEMUQEMU
  • QEMUQEMU
  • Issues
  • #1579
Closed
Open
Issue created Apr 04, 2023 by Eugenio Pérez@eperezmartin

Cache vdpa initialization & startup slow ioctls

Goal

Repetitive ioctls makes vdpa devices initialization and startup slow. This is true especially if the device has many vqs, as some of them must be applied per vq.

Some of these ioctls results can be cached so there is no need to call the ioctl again.

Technical details

As to cache increases complexity of qemu vdpa layer, it must be justified with the latency it decreased.

Areas I think it may be worth to cache:

  • Virtio device configuration
  • Virtio feature bits.
  • Virtio state (DRIVER_OK etc), as it is fetched before adding any feature bit.

Additional information

  • vring groups are cached in this patch, still not upstream this example patch.
  • hw/virtio/vhost-vdpa.c and net/vhost-vdpa.c are both files that worth exploring.
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
Time tracking