
virtio_vring_index里的guest_index和host_index分析
发布日期:2021-09-16 04:36:43
浏览次数:2
分类:技术文章
本文共 1046 字,大约阅读时间需要 3 分钟。
virtio_vring_index. 获取 vring queue里的guest_index和host_index,初步看是不清楚 什么是 guest_index和host_index。
void virtio_vring_index(VirtQueue *vq, NetVringIndex *index){ index->guest_index = vring_get_used_event(vq); index->host_index = vring_used_idx(vq);}
gues_index 通过 vring_get_used_event 获取,通过以下代码可以看出,其实就是取的 last_used_idx的值
/* Called within rcu_read_lock(). */static inline uint16_t vring_avail_ring(VirtQueue *vq, int i){
VRingMemoryRegionCaches *caches = vring_get_region_caches(vq);
hwaddr pa = offsetof(VRingAvail, ring[i]);
return virtio_lduw_phys_cached(vq->vdev, &caches->avail, pa);}/* Called within rcu_read_lock(). */static inline uint16_t vring_get_used_event(VirtQueue *vq){
return vring_avail_ring(vq, vq->vring.num);}
host_index 通过vring_used_idx 获取,通过以下代码可以看出,其实就是取的 used ring里的 idx的值
/* Called within rcu_read_lock(). */static uint16_t vring_used_idx(VirtQueue *vq){
VRingMemoryRegionCaches *caches = vring_get_region_caches(vq);
hwaddr pa = offsetof(VRingUsed, idx);
return virtio_lduw_phys_cached(vq->vdev, &caches->used, pa);}
转载地址:https://blog.csdn.net/wllabs/article/details/105330347 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
初次前来,多多关照!
[***.249.68.14]2022年05月22日 13时09分44秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
最新文章
JavaEE之JMS规范
2019-05-27 03:26:27
Redis复制(Replication)和哨兵机制(Sentinel)
2019-05-27 03:26:27
Redis持久化(persistence)
2019-05-27 03:26:27
Redis事务
2019-05-27 03:26:26
Redis配置,常用命令,数据结构
2019-05-27 03:26:26
Mybatis工作流程及其原理与解析
2019-05-27 03:26:25
SpringAOP详细配置与使用
2019-05-27 03:26:25
Spring IOC详细配置与使用
2019-05-27 03:26:24
jdk1.8ArrayList主要方法和扩容机制(源码解析)
2019-05-27 03:26:24
jdk1.8 HashMap工作原理和扩容机制(源码解析)
2019-05-27 03:26:23
Java移位操作符以及按位操作符
2019-05-27 03:26:23
解决 Eclipse Struts,Hibernate,Spring等配置文件没有提示
2019-05-27 03:26:22
Struts2请求流程和原理(源码解析,运行流程)
2019-05-27 03:26:22
SpringMVC整合Mybatis+Maven+Bootstrap的简单Demo
2019-05-27 03:26:21
Hibenate错误汇总:java.lang.NoClassDefFoundError:
2019-05-27 03:26:21
基于SpringMVC+Spring+Hibernate+Maven+Bootstrap的简单Demo
2019-05-27 03:26:20
ifndef/define/endif作用和用法
2019-05-27 03:26:20
.h文件和.cpp文件怎么写?
2019-05-27 03:26:19
VS 2010调试程序,怎么查看其中变量的值
2019-05-27 03:26:19
Hessian矩阵
2019-05-27 03:26:19