E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
VHOST-SCSI
VHOST-SCSI
代码分析(1)VHOST SCSI设备模拟
VHOSTSCSI设备的模拟是由QEMU和HOST共同实现的,QEMU模拟VHOSTSCSI设备配置空间等,而对于虚拟机通知HOST和HOST通知虚拟机机制由HOST内核实现。在QEMU中VHOSTSCSI设备继承关系如下:其它设备以及对应class_init函数和realize具现化实现与VIRTIO-SCSI一致,这里介绍TYPE_VHOST_SCSI部分。VHOSTSCSI具现化过程VHOS
linux解码者
·
2023-09-21 00:45
VIRTIO
VHOST-SCSI
VHOST-SCSI
代码分析(5)VHOST CALL机制
在VIRTIO框架中QEMU通知虚拟机数据处理完成,这个过程是通过注入中断实现,但注意是从QEMU->KVM->虚拟机过程,如下图所示:HOST内核完成数据的处理后,将通知虚拟机数据处理完成,这个过程是通过注入中断实现的。VHOST框架中是通过函数virtio_pci_set_guest_notifiers设置。而从HOST内核往虚拟机注中断过程是KVM->虚拟机,如下图所示:两者都需要在初始化e
linux解码者
·
2023-09-18 06:53
VIRTIO
VHOST-SCSI
VHOST-SCSI
代码分析(3)数据流处理
VHOSTSCSI数据流如下所示:IO下发过程虚拟机中应用态程序下发IO,依次经过VFS/文件系统层,BLOCK层,SCSI层,经VIRTIOSCSI驱动virtscsi_commit_rqs访问寄存器通知HOST内核中VHOST设备(VHOSTKICK过程),数据已经下发。HOST内核通过vhost_scsi_handle_kick将SCSI命令下发,这里是将IO发给targetcore,tar
linux解码者
·
2023-09-18 06:23
VIRTIO
VHOST-SCSI
VHOST-SCSI
代码分析(4)VHOST KICK机制
在VIRTIO框架中虚拟机通知QEMU数据准备好是通过操作MMIO,在KVM中将操作分发到QEMU中,由QEMU中模拟对应的MMIO操作(图中红色部分)。VHOST框架虚拟机通知HOST内核数据准备好也是通过MMIO操作,但在函数vhost_dev_enable_notifiers中使能ioeventfd,使MMIO地址与ioeventfd关联,这样虚拟机中对MMIO操作,最终在KVM中通过ioe
linux解码者
·
2023-09-18 06:23
VIRTIO
VHOST-SCSI
VHOST-SCSI
代码分析(2)VHOST SCSI驱动分析
在HOST内核中创建/dev/
vhost-scsi
,并提供用户态相关接口,在文件driver/vhost/scsi.c中。
linux解码者
·
2023-09-18 05:52
VIRTIO
VHOST-SCSI
上一页
1
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他