没有合适的资源?快使用搜索试试~ 我知道了~
首页virtio-blk read request处理流程
virtio-blk read request处理流程

基于virtio-blk 讲解linux guest和host处理read request的流程
资源详情
资源评论
资源推荐

VIRTIO Introduction
John.Gong
--based on virtio-blk implementation

Agenda
What is VIRTIO?
Hierarchy
Vring
Vring management
Guest read process
Q & A
Reference

What is VIRTIO
VIRTIO is a virtual transport protocol, only exists in the
para-virtualization environment. High performance due to:
share memory: no memory copy
lock-free queue: host and guest handle the queue
concurrently

Hierarchy
cpus
pci-e host br
pci interface
(virtio-blk-pci)
scsi device
(virtio-scsi)
GUEST(VM)
virtio-blk
virtio-blk-mmio
scsi host
platform device
virtio transport framework
HOST(QEMU)
cpu bus
pci bus
scsi bus
virtio bus
virtio bus
John.Gong

vring – share between host and guest
avail
used
end
desc
used_event_idx
(last_used_idx)
ring[1]
ring[0]
ring[3]
ring[num-2]
ring[num-1]
idx
flags
avail_event_idx
(last_avail_idx)
ring[1]
ring[0]
ring[2]
ring[num-2]
ring[num-1]
idx
flags
vring_used
_elem_ring
__virtio16
ring[4]
…
…
…
end
…
…
GPA
HVA
GPA 0x0
guest = producer
host = producer
avail
desc
used
avail_event_idx
GPA
used_event_idx
…
…
……
……
John.Gong
剩余20页未读,继续阅读

















安全验证
文档复制为VIP权益,开通VIP直接复制

评论1