- 博客(289)
- 资源 (7)
- 收藏
- 关注
原创 《Linux设备驱动开发详解(第3版)》(即《Linux设备驱动开发详解:基于最新的Linux 4.0内核》)进展同步更新
本博实时更新《Linux设备驱动开发详解(第3版)》(即《Linux设备驱动开发详解:基于最新的Linux 4.0内核》)的最新进展。 目前已经完成稿件。2015年8月9日,china-pub开始上线预售:http://product.china-pub.com/47339722015年8月20日,各路朋友报喜说已经拿到了书。本书已经rebase到开发中的Linux 4.0内核,案例多数基于多核CORTEX-A9平台。本书微信公众号"linux阅码场", 扫描下方二维码关注
2014-06-30 20:22:54 64853 128
原创 公平CFS调度类:SCHED_NORMAL、SCHED_BATCH和SCHED_IDLE
公平CFS调度类:SCHED_NORMAL、SCHED_BATCH和SCHED_IDLE,它们的相同与不同。
2024-12-22 13:47:20 1694
原创 宋宝华:谈一谈Linux写时拷贝(COW)的安全漏洞(1)
COW技术,爆出了巨大的漏洞,让父子进程间可以向对方泄露写过的新数据,成为了Linux内核的惊天大瓜。
2022-01-09 20:10:20 8316 12
转载 CPU漏洞详解
1. 导言性能测试对于 Linux 发行版来说至关重要,Alibaba Cloud Linux 2 也是如此。(Alibaba Cloud Linux 2 是阿里巴巴操作系统团队推出的一款...
2021-10-03 08:33:21 5648
原创 什么时候需要cpu_relax()锁
一个最典型的要使用pu_relax()锁的场景是忙等待(也就是死循环等一个事情的发生),在内核里面有大量的代码,比如等寄存器状态:比如做延迟:简单来说,你如果在内核里面写了忙等待的代码,都...
2021-09-23 19:27:06 3392
原创 宋宝华:为了不忘却的纪念,评Linux 5.13内核
Linux 5.14于14小时之前发布了,而我5.13的总结还没有写出,我早觉得有写一点东西的必要了,这虽然于搬砖的码农毫不相干,但在追求进步的工程师那里,却大抵只能如此而已。为了不忘却的...
2021-08-30 20:29:00 12029 7
转载 深入理解Linux内核之进程睡眠(下)
4.用户态睡眠以sleep为例来说明任务在用户态是如何睡眠的。首先我们通过strace工具来看下其调用的系统调用:$stracesleep1...close(3)...
2021-08-14 16:30:40 2731
转载 深入理解Linux内核之进程睡眠(上)
1开场白环境:处理器架构:arm64内核源码:linux-5.10.50ubuntu版本:20.04.1代码阅读工具:vim+ctags+cscope无论是任务处于用户态还是内核态,经常会...
2021-08-14 16:30:40 2709
转载 谁为软件质量负责(背锅)?
这是一个残酷的世界,无论我们多么努力,结果可能还是不如意。这一点,软件人深有体会,不管我们多么认真地编码,多么仔细地测试,仍然无法抵挡Bug顽强地冒出来。如果Bug被发布出去了,谁将为此背...
2021-08-12 07:14:56 2781 1
转载 近距离看GPU计算(3)
在先前文章《近距离看GPU计算(2)》中,我们谈到现代GPU发展出SIMT(Single Instruction Multiple Thread)的执行结构,硬件线程池的线程们有相对独立的...
2021-08-12 07:14:56 2333
原创 宋宝华:slab在内核内存管理和用户态Memcached的双重存在
很多基础的概念,将跨越软件的层次而存在。比如slab,对于内核人员,我们都知道slab是buddy之上的一层。因为buddy作为Linux内核最底层的内存管理器,它分配1页,2页,4页,2...
2021-08-10 16:47:49 1647
原创 给老徐的书《软件自动化测试实战解析-基于Python3》写的序
明代学者林希元有云:"自古圣贤之言学也,咸以躬行实践为先,识见言论次之",强调了实践是第一位的,而著书立说次之。唯有经过实践总结而成的书,方能对读者形成更强的指导意义。本书...
2021-08-08 07:38:03 1669
转载 老徐自述:《软件自动化测试实战解析_基于Python3编程语言》
去年的时候,当我和身边一些朋友透露写书的想法时,有3位朋友以为我要写游记,另外至少有3位更不靠谱的朋友认为我要写段子。虽然我写过游记,也经常发段子(只为博身边的朋友们贱笑),还时不时分享辅...
2021-08-06 13:29:41 2077
转载 再谈GPU的内存带宽
在先前的文章中《近距离看GPU计算(2)》,我们谈到GPU相比CPU有更大的内存带宽,此言不虚,这也是众核GPU有源源不断数据弹药供给,能够发挥强大算力的主要原因。如下表所示(GDDR和H...
2021-08-01 17:25:22 5991
转载 Linux内核网络udp数据包发送(二)——UDP协议层分析
1. 前言本文分享了Linux内核网络数据包发送在UDP协议层的处理,主要分析了udp_sendmsg和udp_send_skb函数,并分享了UDP层的数据统计和监控以及socket发送队...
2021-07-31 17:18:42 3718
转载 Linux内核网络UDP数据包发送(四)——Linux netdevice 子系统
Linux内核网络UDP数据包发送系列:Linux内核网络UDP数据包发送(一)Linux内核网络UDP数据包发送(二)——UDP协议层分析Linux内核网络UDP数据包发送(三)——IP...
2021-07-31 17:18:42 2123
转载 Linux内核网络UDP数据包发送(三)——IP协议层分析
1. 前言Linux内核网络 UDP 协议层通过调用ip_send_skb将 skb 交给 IP 协议层,本文通过分析内核 IP 协议层的关键函数来分享内核数据包发送在 IP 协议层的...
2021-07-31 17:18:42 2123
转载 Linux内核网络udp数据包发送(一)
本系列文章1-4,来源于陈莉君老师公众号“Linux内核之旅”1. 前言本文首先从宏观上概述了数据包发送的流程,接着分析了协议层注册进内核以及被socket的过程,最后介绍了通过 sock...
2021-07-31 17:18:42 2538
原创 从前的日子很慢
从前的日子很慢车,马,邮件都慢一生只够爱一个人从前的日子很慢鲁磨路的房子,八百一平所有人都感叹,好贵从前的日子很慢西三门外的录像厅,整夜放着VCD传来阵阵,“老板换碟”从前的日子很慢在宿舍...
2021-07-24 20:07:50 2096
转载 FUTEX_SWAP补丁分析-SwitchTo 如何大幅度提升切换性能?
作者简介胡哲宁,西安邮电大学计算机科学与技术专业大二学生。Google SwitchTo由于协程本身对操作系统的不可见性,协程中出现的 BUG 往往不能通过一些已有的工具去排查。在谷歌内部...
2021-07-21 13:27:44 1984
转载 近距离看GPU计算(2)
在《近距离看GPU计算》系列第一篇里我们介绍了GPU的一些基础知识及其如何从图形加速设备演化到通用计算平台。本文我们会具体从处理单元设计和存储层次结构两个方面探讨GPU不同于CPU的特点,...
2021-07-20 16:26:24 1919
转载 深入理解Linux内核之主调度器(下)
4.进程上下文切换接前文:深入理解Linux内核之主调度器(上)前面选择了一个合适进程作为下一个进程,接下来做重要的上下文切换动作,来保存上一个进程的“上下文”恢复下一个进程的“上下文”,...
2021-07-15 11:17:54 1672
原创 宋宝华:深入理解cache对写好代码至关重要
There are only two hard things in Computer Science: cache invalidation and naming things.-- P...
2021-07-07 17:43:29 6295 12
转载 android平台eBPF初探
一、eBPF是什么eBPF是extended BPF的缩写,而BPF是Berkeley Packet Filter的缩写。对linux网络比较熟悉的伙伴对BPF应该比较了解,它通过特定的语...
2021-07-05 08:10:00 3650 3
转载 Linux内核Page Cache和Buffer Cache关系及演化历史
[注: 转载自今日头条号"闪念基因"] 在我们进行数据持久化,对文件内容进行落盘处理时,我们时常会使用fsync操作,该操作会将文件关联的脏页(dirty page)数据(...
2021-07-01 08:17:27 856 1
转载 深入理解Linux文件系统之文件系统挂载(下)
接着:深入理解Linux文件系统之文件系统挂载(上)本文为文件系统挂载专题文章的第二篇,主要介绍如何通过挂载实例关联挂载点和超级块并添加到全局文件系统树。4. 添加到全局文件系统树4.1 ...
2021-06-30 18:01:24 1712 1
转载 深入理解Linux文件系统之文件系统挂载(上)
1.开场白环境:处理器架构:arm64内核源码:linux-5.11ubuntu版本:20.04.1代码阅读工具:vim+ctags+cscope我们知道,Linux系统中我们经常将一个块...
2021-06-29 15:12:33 2326
转载 多线程计算平台的性能模型
在开始《近距离看GPU计算》系列第二篇以前,我们先介绍跟接下来的主题关系密切的一篇论文。在以前的文章里,笔者谈到单核CPU无论在PC端还是服务器上基本上已经退出历史舞台,目前主流的计算平台...
2021-06-27 08:00:00 454
转载 使用EBPF追踪LINUX内核
1. 前言我们可以使用BPF对Linux内核进行跟踪,收集我们想要的内核数据,从而对Linux中的程序进行分析和调试。与其它的跟踪技术相比,使用BPF的主要优点是几乎可以访问Linux内核...
2021-06-26 08:00:00 1517
原创 推荐Linux性能分析的一篇论文和两本书
最重要的一篇paper:A Top-Down method for performance analysis and counters architecture这篇文章提出了topdown...
2021-06-22 08:59:29 2411
原创 总是选择难的那条路
2018年10月16日,宋牧春童鞋merge了人生的第一个patch:2021年6月,宋牧春童鞋每月都在贡献有实质性价值的patch:最近的vmemmap针对大页省内存的patch,他发了...
2021-06-20 08:08:01 1045 3
转载 近距离看GPU计算
在前面文章中,我们交代了计算平台相关的一些基本概念以及为什么以GPU为代表的专门计算平台能够取代CPU成为大规模并行计算的主要力量。在接下来的文章中,我们会近距离从软硬件协同角度讨论GPU...
2021-06-14 10:44:58 717
转载 Linux内核页表管理-那些鲜为人知的秘密
1.开场白环境:处理器架构:arm64内核源码:linux-5.11ubuntu版本:20.04.1代码阅读工具:vim+ctags+cscope通用操作系统,通常都会开启mmu来支持虚拟...
2021-06-08 11:50:00 1531
转载 coredump 瘦身风云
作者 / 品文、肇燕编辑 / 芹菜出品 /云巅论剑继上一篇非典型程序员青囊搞定内存泄露问题后,美美地睡了一觉。睡梦中,突然金光闪闪,万道光芒照进时光隧道,恍惚来到大唐神龙年间。青囊此时...
2021-05-30 07:28:54 645
转载 深入理解Linux文件系统之ext2路径名查找
本文以ext2文件系统为例来剖析一个真实的文件系统如何查找文件,这对于深入理解文件系统至关重要。1.准备文件系统镜像所用工具:dd、mkfs.ext2、hexdump、dumpe2fs、m...
2021-05-28 08:19:10 1304
转载 Linux系统是如何用虚拟内存来欺骗应用程序的?
一、让有意义的事情变的有意思二、物理内存、虚拟内存三、Linux 中的换页机制一、让有意义的事情变的有意思 昨天,看到下面这句话,送给您:让有意思的事情变的有意义,让有意义的事情变的有意思...
2021-05-26 08:20:00 557
原创 宋宝华:为什么numactl内存绑定对代码段不起作用
本文目录 阅读本文大约需要10分钟numactl内存绑定中代码段的问题代码段为什么没有进入指定的numa节点内核内存管理一个改进方向建议numactl内存绑定中代码段的问题在一个典型的NU...
2021-05-07 07:50:00 1001
转载 边缘设备、系统及计算杂谈(1)
缘起机缘巧合,未来一段时间要从事一个新兴的领域——边缘设备、系统、及计算。边缘设备,从物理形态上看,是出现于云、端之间,更接近端侧(也就是设备侧)的一种新型设备。它是伴随万物互联IoT而出...
2021-05-03 14:41:17 529
转载 边缘设备、系统及计算杂谈(2)——go语言
缘起本期继续讨论边缘领域里的另一个有意思的东西——语言。正如前文所说,边缘设备是在终端、云端(或者叫后台系统)中出现的一种新形态的设备。它肯定不是终端,因为它比终端能力强,而且倾向于它是为...
2021-05-03 14:41:17 529
LDD6410 S3C6410开发板开发与使用手册
2010-03-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人