首页
学习
活动
专区
工具
TVP
发布

linux驱动个人学习

专栏成员
724
文章
1441745
阅读量
183
订阅数
Linux PM QoS framework(3)_per-device PM QoS
per-device PM QoS是针对指定设备的QoS framework,背后的思考如下:
233333
2023-02-23
9260
Linux PM QoS framework(2)_PM QoS class
回顾上一篇文章(Linux PM QoS framework(1)_概述和软件架构),PM QoS framework抽象出4个系统级别的QoS constraint(统称为PM QoS class),分别是cpu&dma latency、network latency、network throughput和memory bandwidth。并提供一系列的接口,动态的搜集、整理系统对这些constraint的需求情况。
233333
2023-02-23
1.1K0
Linux PM QoS framework(1)_概述和软件架构
QOS为Quality Of Service(服务质量)的简称,对PM QoS而言,表示Linux kernel电源管理相关的服务质量。那到底什么是服务质量呢?
233333
2023-02-23
8450
USB总线-Linux内核USB3.0设备控制器之UDC驱动分析(六)
UDC驱动的接口都定义在drivers/usb/gadget/udc/core.c文件中。USB Function驱动通过调用这些接口匹配及访问USB设备控制器,而底层USB控制器驱动要实现这些接口定义的功能。下面分析一下主要的UDC驱动接口调用流程。
233333
2022-12-31
9.2K0
USB总线-Linux内核USB3.0设备控制器之dwc3 gadget驱动初始化过程分析(五)
USB设备控制器(UDC)驱动的框图如下图所示,由三部分组成。第一部分是UDC驱动核心层,在drivers/usb/gadget/udc/core.c文件中实现,该层是一个兼容层,将USB Function驱动和具体的USB gadget驱动隔离开,抽象了统一的接口和数据结构,向USB Function驱动提供了统一且稳定的接口,同时完成USB Function驱动和USB gadget驱动的匹配。第二部分是gadget driver层,负责驱动硬件工作,和具体的USB设备控制器硬件相关,dwc3的gadget driver驱动在drivers/usb/dwc3/gadget.c文件中实现。第三部分是USB设备控制器硬件。
233333
2022-12-18
5.9K0
一文搞懂 Ftrace 的实现原理
以 blk_update_request 为例,看下其开启 Ftrace 前后的反汇编代码:
233333
2022-09-23
5570
blktrace 编译与使用
在对ssd性能调优过程中,有使用到blktrace,本文对blktrace做一个记录
233333
2022-05-10
6010
io调度算法
Linux 内核包含4个IO调度器,分别是 Noop IO scheduler、Anticipatory IO scheduler、Deadline IO scheduler 与 CFQ IO scheduler。
233333
2022-05-10
1.1K0
浅谈TCP IP协议栈(一)入门知识
说来惭愧,打算写关于网络方面的知识很久了,结果到今天才正式动笔,好了,废话不多说,写一些自己能看懂的入门知识,对自己来说是一种知识的总结,也希望能帮到一些想了解网络知识的童鞋。
233333
2022-05-10
6560
ISP基础(10)-Gamma校正及其实现
图2中左图为原图,中图为gamma = 1/2.2在校正结果,原图中左半侧的灰度值较高,右半侧的灰度值较低,经过gamma = 1/2.2校正后(中图),左侧的对比度降低(见胡须),右侧在对比度提高(明显可以看清面容),同时图像在的整体灰度值提高。
233333
2020-11-24
1.8K0
Linux电源管理(11)_Runtime PM之功能描述
终于可以写Runtime PM(后面简称RPM)了,说实话,蜗蜗有点小激动。因为从个人的角度讲,我很推崇使用RPM进行日常的动态电源管理,而不是suspend机制。
233333
2019-12-12
2.4K0
网络流媒体协议之——RTSP协议
RTSP(Real-Time Stream Protocol)协议是一个基于文本的多媒体播放控制协议,属于应用层。RTSP以客户端方式工作,对流媒体提供播放、暂停、后退、前进等操作。该标准由IETF指定,对应的协议是RFC2326。
233333
2019-07-11
2.6K0
2. [mmc subsystem] mmc core数据结构和宏定义说明
struct mmc_host是mmc core由host controller抽象出来的结构体,用于代表一个mmc host控制器。
233333
2019-05-25
1.2K0
6. [mmc subsystem] mmc core(第六章)——mmc core主模块
mmc_detect_change mmc_rescan mmc_detect_card_removed
233333
2019-05-25
2.4K0
linux内核数据结构之kfifo
最近项目中用到一个环形缓冲区(ring buffer),代码是由linux内核的kfifo改过来的。缓冲区在文件系统中经常用到,通过缓冲区缓解cpu读写内存和读写磁盘的速度。例如一个进程A产生数据发给另外一个进程B,进程B需要对进程A传的数据进行处理并写入文件,如果B没有处理完,则A要延迟发送。为了保证进程A减少等待时间,可以在A和B之间采用一个缓冲区,A每次将数据存放在缓冲区中,B每次冲缓冲区中取。这是典型的生产者和消费者模型,缓冲区中数据满足FIFO特性,因此可以采用队列进行实现。Linux内核的kfifo正好是一个环形队列,可以用来当作环形缓冲区。生产者与消费者使用缓冲区如下图所示:
233333
2019-05-25
2.9K0
Linux CFS调度器之负荷权重load_weight--Linux进程的管理与调度(二十五)
负荷权重用struct load_weight数据结构来表示, 保存着进程权重值weight。其定义在/include/linux/sched.h, v=4.6, L1195, 如下所示
233333
2018-12-11
1.5K0
Linux进程优先级的处理--Linux进程的管理与调度(二十二)
从0~99的范围专供实时进程使用, nice的值[-20,19]则映射到范围100~139
233333
2018-12-10
3.5K0
Linux用户抢占和内核抢占详解(概念, 实现和触发时机)--Linux进程的管理与调度(二十)
多任务系统中, 内核负责管理各个任务, 或者说为每个任务分配CPU时间, 并且负责任务之间的通讯.
233333
2018-12-05
5.3K1
vivi虚拟摄像头驱动程序
一、vivi虚拟摄像头驱动 基于V4L2(video for linux 2)摄像头驱动程序,我们减去不需要的ioctl_fops的函数,只增加ioctl函数增加的必要的摄像头流查询等函数; 1 #include <linux/module.h> 2 #include <linux/module.h> 3 #include <linux/delay.h> 4 #include <linux/errno.h> 5 #include <linux/fs.h> 6 #include <li
233333
2018-03-07
2.4K0
没有更多了
社区活动
【纪录片】中国数据库前世今生
穿越半个世纪,探寻中国数据库50年的发展历程
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档