- 2024-11-01Nothing Phone(2)的灯带驱动研究笔记
最近整了部NothingPhone(2),bl秒解的设定是真的舒服,所以买来第一时间就透了一遍(指root了)。然后半夜睡不着,就打算研究一下这个灯带是怎么调用的。然后就开始了,一段孤独的旅程充满烦恼~内核源码:很不幸,除了知道了灯带型号是aw20036之外没啥收获,原因无他,单纯看不懂代码,注释都不怎
- 2024-04-15Proxmox VE 7.x ,8.x 安装 NVIDA GRID vGPU 以及 Intel SR-IOV vGPU,一键安装脚本
在Gitee上创建了一个项目。包括了NVIDIA和Intel核显启用vGPU的脚本。 项目地址:https://gitee.com/deskpool/proxmox-vgpu脚本支持ProxmoxVE7.x和8.x,支持NVIDAGRIDvGPU和 IntelSR-IOVvGPU。 介绍ProxmoxVE上支持vGPU的脚本。包括NVIDAGRIDvGP
- 2024-02-07readv、recv和recvmsg三个函数的区别
目录概述readv示例(文件I/O)recv示例(套接字通信)recvmsg示例(套接字通信)概述readv、recv和recvmsg三个函数都是用于从文件或套接字接收数据的函数,但它们在功能和使用场景上存在一些区别。readv函数:readv函数主要用于从文件描述符读取数据到多个缓冲区中。它允许在
- 2024-02-07socket通信中的分散读和集中写
在socket通信中,分散读和集中写是两种常见的I/O模型。分散读(scatterread):在分散读模型中,应用程序可以在一次readv()系统调用中从socket读取多个缓冲区的数据。这意味着可以一次性读取多个数据包,而不必为每个数据包执行单独的read()调用。这种方式可以减少系统调用的次数
- 2023-12-15两个线程共享一个套接字,其中一个线程使用sendmsg函数不断发送消息到该套接字,另一个线程使用recvmsg函数不断接收该套接字的消息,并打印出来的功能
以下是使用C语言写的一段代码,实现两个线程共享一个套接字,其中一个线程使用sendmsg函数不断发送消息到该套接字,另一个线程使用recvmsg函数不断接收该套接字的消息,并打印出来的功能点击查看代码#include<stdio.h>#include<stdlib.h>#include<string.h>#include<unistd.
- 2023-12-02WebServer
WebServer(暂未写完) 根据项目https://github.com/markparticle/WebServer实现的c++服务器项目。同时参考JehanRio的博客https://blog.csdn.net/weixin_51322383/article/details/130464403,十分感谢博客提供的帮助,本文用于记录学习过程以及遇到的一些问题,如有侵权请联系删除。
- 2023-10-26TCP Socket性能优化秘籍
一、引言1.1、TCPSocket在网络通信中的重要性TCPSocket在网络通信中的重要性体现在其提供了可靠的数据传输、连接性、多路复用等特性,是实现各种网络应用的基础,同时具有广泛的兼容性。它的存在使得网络通信更加可靠、高效和方便。其重要性如下:可靠性:TCP(传输控制协议)是一种可
- 2023-10-08sri-iov
查看当前网卡是否支持sr-iovlscpi-v创建vfhttps://www.cnblogs.com/juzib/p/12895887.htmlhttps://forum.openeuler.org/t/topic/675
- 2023-10-06【TinyWebServer】13踩坑和面试题
踩坑在此项目中遇到的一些比较有意义的问题大文件传输先看下游双书上发送逻辑这块的代码,发送数据只调用了writev函数,并对其返回值是否异常做了处理。boolhttp_conn::write(){ inttemp=0; intbyte_have_send=0; intbyte_to_send=m_write_idx; if(byte_to_
- 2023-08-11iovec结构体
iovec基本介绍包含在头文件#include<sys/uio.h>中的一个结构体其定义如下structiovec{ void*iov_base; //指向数据的地址 size_tiov_len; //数据的长度};其实就是一个指向一块内存的指针,同时携带了数据长度而已干嘛用的服务于以下两个函数intreadv(intfd,co
- 2023-06-17PCIe问题举例: Enable SR-IOV导致资源分配失败
资源分配问题分析过程:1.在shell下和OS都能复制到现象;2.测试CRBBIOS,发现CRBBIOS在shell下没有复制到现象,在OS下复制到现象;3.比较AoqinBIOS和CRBBIOS,发现在setup里面把PCIeSR-IOVdisable,shell下就能正常分配到Region0/2的资源;----看来跟PCIeSR-IOV功能有关4.Region0/2的
- 2023-06-15Linux UDP协议栈中的片段分析 - udp_recvmsg
udp_recvmsg(struct kiocb *iocb, struct sock *sk, structsize_t len, int noblock, int flags, int调用了:err = skb_copy_datagram_iovec(skb, sizeof(struct udphdr), msg->msg_iov,copied);调用了:memcpy_toiovec(to, skb->data + o, copy);
- 2023-06-14分散输入和集中输出------readv() 、 writev()
参考:https://blog.csdn.net/zhizhengguan/article/details/117173049//功能:将数据从文件描述符读到分散的内存块中,即分散读。ssize_treadv(intfd,conststructiovec*iov,intiovcnt);//iovcnt代表选择iov中的几块内存,而不是选择第几块内存//功能:将多块分散的内存数