- 博客(5)
- 收藏
- 关注
原创 NVMEoF 内核initiator端实现源码分析
这个实现是在nvme-cli模块内部实现的,跟一个discovery控制器连接,获取可以连接的所有的nvme子系统的信息,可能会有多个。如下的示例中,只有一个nvme subsystem可以连接:nqn.2016-06.io.spdk:cnode1。具体命令如下:portid: 0。
2024-06-14 13:58:47 537 1
原创 virtio-net的前后端分析
注:MSI-X表放在一个单独一个BAR空间中,设置为non-prefetchable,因为里面的pending为是读清的操作,不可以设置为prefetchable(从目前的BSC卡的实现来看,由于virtio设备用不到msix的pending,因此可以设置为prefetchable)。其他的virtio配置寄存器放在另外一个BAR空间中,设置为prefetchable,在一些pcie的硬件架构下,可以提高访问的性能。驱动通过读写CommonCfg中的feature相关的字段来协商特性。
2024-05-27 17:15:04 555
原创 DPDK内存管理分析
DPDK的内存管理框架,从底层往上依次为:大页系统。获取系统的大页信息。包括各种大页类型,及其可用大页的数目。获取大页文件系统mount的目录(可以参数指定,--huge-dir ),将要创建的大页文件的前缀(可以参数指定,--file-prefix)每个大页文件系统指定的页的大小是固定的,因此不同页大小的大页,mount的目录是不一样的。
2024-05-20 11:28:34 713
原创 tcp、dup的socket发包支持零拷贝
要实现零拷贝,那么sendbuf需要在实际发出去之后,才能释放,这会有很大延迟,尤其是tcp这种需要等待确认,且有可能重传的情况。但如果send操作一直阻塞住,会很大程度影响用户发送数据的吞吐量。对于用户编程来说,需要做一些改动,即调用了send操作后,会很快返回,但是其sendbuf不能立即释放,需要等待通知后,才能释放。
2024-03-28 11:15:56 330 1
原创 tcp offload的两个方案
1、SMC Shared Memory Communication系列解读SMC-R:透明无感提升云上 TCP 应用网络性能(一) - 知乎共享内存通信SMC的优势、架构、应用场景以及如何使用SMC_云服务器 ECS(ECS)-阿里云帮助中心2、SocksDirect https://www.microsoft.com/en-us/research/uploads/prod/2019/08/p90-li.pdfGitHub - bojieli/SocksDirect: SocksDirect code re
2024-03-26 11:02:44 231
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人