自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 收藏
  • 关注

转载 linux 数据写入disk流程(转发学习)

参考地址:https://www.aliyun.com/jiaocheng/151413.html给大佬递烟!!!1.IO概述分析一下写操作:char *buf = malloc(MAX_BUF_SIZE);strncpy(buf, src, , MAX_BUF_SIZE);fwrite(buf, MAX_BUF_SIZE, 1, fp);fclose(fp);以下图为例:分析数据流写入硬盘的过程malloc的buf对于图层中的application buffer,即应用程序的buffe

2021-02-26 17:54:01 4030

转载 pcie基础概念 --- 学习

前面三小节,介绍了PCIE的基本知识和概念,以及扫描流程。在不求甚解的情况下,我想各位小伙伴应该对PCIE有了个宏观的认识,OK,那么本章我们在之前的基础上,再单独把一些概念和更深层次的问题摘出来具体讨论。首先依旧是国际惯例,先列问题:1. PCIE的各个模块中,经常提到Bridge/Host Bridge,Root Complex, Root port以及一些其他常用的部件概念要怎么理解?2. PCI总线模型和PCIE是点对点模型,要怎么理解?3. EndPint是否可以直接访问另外一个EndPo

2020-07-21 15:15:34 1850

转载 NVMe盘暴力热插拔 学习记录

1、 SFF-8639SFF-8639也叫U.2,物理结构可以兼容SAS/SATA/SATA Express/Nvme。SFF-8639详细的引脚定义可以参考PCI Express SFF-8639 Module specification。其中比较重要的sideband信号有PWRDIS、IfDet#、PERST#、DualPortEn。PWDIS:该信号assert时,disabl...

2020-05-07 14:32:39 8216

转载 PCIE枚举过程代码实现 ----转载 学习使用

PCIe在调试过程中,经常会出现扫描不到对端EP设备的问题,在问题定位过程中,了解内核中pcie枚举流程至关重要。PCIe枚举过程一般分为三步:1.创建根节点2.扫描根节点下设备3.为根节点下设备分配资源那么如何发现设备?从总线扫描pcie设备的函数pci_scan_child_bus开始分析unsigned int pci_scan_child_bus(struct pci_bus...

2020-05-07 10:07:45 1598

原创 NVME 1.4简介(第一章)

NVMe 1.4协议第一章节介绍

2024-08-20 21:02:23 958

原创 crash问题交流

crash问题交流

2024-05-16 09:37:33 444 2

转载 全网最全的RDMA拥塞控制入门基础教程

RDMA基础知识介绍

2024-02-22 11:26:50 708

原创 一文读懂内核spin lock接口原理及使用

spin_lock

2023-11-03 09:33:53 534

原创 nvme1.4 解析

此贴会连续更新,或者多开几篇介绍整个nvme协议1.4及工作今年的经验总结,我知道nvme协议已经遍地开花,网络上也已经有很多大佬进行过nvme的解析,我写这篇文章的目的算是对自己几年nvme协议相关开发的总结,理解有误请大佬们多多指正。从目录讲起,很多人会直接忽略的一部分,其实直接从内容开始闷头去读的话,会有很多不理解的地方,例如在没有任何nvme基础的情况下直接按照协议章节顺序读你会感觉各种不懂,我是建议先按照协议章节的 1->2->3->4->7->5->6。

2023-07-10 11:26:59 767 1

原创 clone函数使用注意

clone函数指定flag为CLONE_VM时,不能使用mmap或者unmmap函数。

2020-12-09 09:21:04 259

转载 waitpid status参数介绍

一、和子进程同步在linux系统中,父进程通常需要通过waitpid来等待/获取子进程状态变化情况,而这个主要就是通过waitXXX函数族来实现的,例如常见的init函数实现的respawn类配置进程(例如getty)、调试器中对子进程状态的获取,shell对同步子进程状态的监控和获取,以及通常我们工程中使用的子进程和父进程之间的通讯等。我们在linux下man 一下waitpid,可以看到有下面三个比较常用的函数YNOPSIS#include <sys/types.h>#includ

2020-10-21 14:32:32 2120

转载 【基础】位与运算与取余

关于位与运算&与取余今天在研究hashmap源码的时候,发现其源码中在解决Entry分布时,本来大多数人以为会用index = hash % length,但是源码中却使用了index = hash & (lenth -1)的方式。/**The default initial capacity - MUST be a power of two.*/static final int DEFAULT_INITIAL_CAPACITY = 1 << 4; // aka 16

2020-05-14 10:37:55 660

转载 记录 ubuntu 交叉编译工具链安装

arm-linux-gnueabihf-gcc是由 Linaro 公司基于GCC推出的的ARM交叉编译工具。可用于交叉编译ARM系统中所有环节的代码,包括裸机程序、u-boot、Linux kernel、filesystem和App应用程序。arm-linux-gneabihf-gcc 与 CodeSourcery 的 arm-none-linux-gnueabi-gcc 类 似,都可以用来编译...

2019-03-30 12:09:14 290

InfiniBand Architecture Specification Volume 1 Release 1.4

InfiniBand协议资源,RDMA/RoCE核心协议文档

2024-03-19

nvme 1.4版本,即将过度到2.0的版本

nvme 1.4版本,即将过度到2.0的版本

2024-01-19

早期nvme转SCSI说明

早期nvme转SCSI说明,nvme命令转换成scsi命令的手册

2024-01-19

mctp基础协议1.0

mctp 基础协议,另有mctp over pcie 和 mctp over pcie,和mctp bind nvme协议,需要私聊

2023-07-10

nvme协议标准2.0

zns特性,加入open channel概念

2023-07-10

pcie Gen4&5 总线协议资源整合

pcie Gen4&5 总线协议资源整合

2022-10-26

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除