上一页 1 ··· 31 32 33 34 35 36 37 38 39 ··· 64 下一页
摘要: 纵观virtio网络的发展, 控制平面由最原始的virtio到vhost-net协议,再到vhost-user协议,逐步得到了完善与扩充; 数据平面上,从原先集成在QEMU中或内核模块的中,到集成了DPDK数据平面优化技术的vhost-user,最终到使用硬件加速数据平面。在保留virtio这种标准 阅读全文
posted @ 2021-05-30 15:56 codestacklinuxer 阅读(219) 评论(0) 推荐(0) 编辑
摘要: 1. 概述 前边系列将Virtio Device和Virtio Driver都已经讲完,本文将分析virtqueue; virtqueue用于前后端之间的数据交换,一看到这种数据队列,首先想到的就是ring-buffer,实际的实现会是怎么样的呢? 2. 数据结构 先看一下核心的数据结构: 通常Vi 阅读全文
posted @ 2021-05-30 15:48 codestacklinuxer 阅读(96) 评论(0) 推荐(0) 编辑
摘要: 1. 概述 先来张图: 图中罗列了四个关键模块:Virtio Device、Virtio Driver、Virtqueue、Notification(eventfd/irqfd); Virtio Driver:前端部分,处理用户请求,并将I/O请求转移到后端; Virtio Device:后端部分, 阅读全文
posted @ 2021-05-30 15:39 codestacklinuxer 阅读(286) 评论(0) 推荐(0) 编辑
摘要: 有一个想法:由于 udp 是无连接的 包传输模式! 所以有时在局域网想使用udp,但是 udp 是无连接的, 如果使用UDP 做服务器, 其是无连接的,那怎样实现其tcp的四元组有链接呢?? 想了一下:udp 添加listen 字段就行!! sk = __udp4_lib_lookup_skb(sk 阅读全文
posted @ 2021-05-28 21:28 codestacklinuxer 阅读(527) 评论(0) 推荐(0) 编辑
摘要: 目前看以前的代码想到一个问题,unlink rm 区别 和和 close 的区别! 主要场景是 想使用 文件大内核锁进行多进程互斥! 多进程中使用 文件锁互斥方式如下: mtx->fd = open_file(file_name); mtx->name = file_name; fork() 也就是 阅读全文
posted @ 2021-05-27 21:00 codestacklinuxer 阅读(76) 评论(0) 推荐(0) 编辑
摘要: 3.1使用SSL层接口函数安全通信 使用SSL层接口函数进行安全通信的方法由以下几个步骤组成: 1)初始化OpenSSL库 使用OpenSSL库之前,应用程序必须初始化库,初始化函数列出如下: SSL_library_init(void); OpenSSL_add_ssl_algorithms(); 阅读全文
posted @ 2021-05-26 23:40 codestacklinuxer 阅读(591) 评论(0) 推荐(0) 编辑
摘要: Memcache作为内存cache服务器,内存高效管理是其最重要的任务之一,Memcached使用SLAB管理其内存!! 记住 从内存池里面连续的地址 获取一小块内存地址时 需要注意 地址对其问题; 一般 CHUNK_ALIGN_BYTES = 8 or 16 原因和CPU处理内存方式有关,考虑到C 阅读全文
posted @ 2021-05-26 23:40 codestacklinuxer 阅读(52) 评论(0) 推荐(0) 编辑
摘要: 说起内存问题 就想起 buffer 和cache 其核心是:buffer和cache对读和写都会混存,只是对象不同,前者是针对块设备,后者是针对文件。 再就是大家都想 重写一下内存池 最后发现 自己写的是一坨屎 作者:韦易笑链接:https://www.zhihu.com/question/2552 阅读全文
posted @ 2021-05-23 21:56 codestacklinuxer 阅读(66) 评论(0) 推荐(0) 编辑
摘要: 基于套接字的 bufferevent使用 libevent 的底层事件机制来检测底层网络套接字是否已经就绪,可以进行读写操作,并且使用底层网络调用(如 readv 、 writev)来发送和接收数据。 libevent的bufferevent 是基于event_base 的基础上再次封装一层!其本质 阅读全文
posted @ 2021-05-20 18:56 codestacklinuxer 阅读(103) 评论(0) 推荐(0) 编辑
摘要: for i in `ps -AL |grep Worker | awk '{print $2}'`; do \ echo $i ; \ gdb --q --n --ex bt --batch --pid $i; \ done 2>&1 |tee /var/stacks.txt CPU使用率较低但负载 阅读全文
posted @ 2021-05-20 18:39 codestacklinuxer 阅读(733) 评论(0) 推荐(0) 编辑
上一页 1 ··· 31 32 33 34 35 36 37 38 39 ··· 64 下一页