自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

宋宝华

宋宝华

  • 博客(288)
  • 资源 (7)
  • 收藏
  • 关注

转载 边缘设备、系统及计算杂谈(3)—edgex-go,了解一下

缘起本期继续讨论边缘。2020年12月22-23号,Linux Foundation Edge下的一个开源项目EdgeX在我司做了一次活动。幸好这段时间对edgex进行了足够的调研,所以也...

2021-05-03 14:41:17 518

转载 Roofline模型初步

在多核异构的时代,软件人员普遍面临的一个困惑是,面对如此复杂的系统,应该如何部署我们的算法,是应该让它运行在CPU,GPU还是甚至类似TPU的专门ASIC上才是最佳方案?另外给定特定的计算...

2021-04-27 11:57:54 2608

转载 深入理解Linux内核之内核线程(上)

1.开场白环境:处理器架构:arm64内核源码:linux-5.11ubuntu版本:20.04.1代码阅读工具:vim+ctags+cscope在linux系统中, 我们接触最多的莫过于...

2021-04-26 08:21:46 1487

转载 Throughput >> Latency

在04年发表的论文《Latency Lags Bandwidth》作者David Patterson谈到他观察到的有趣现象,在很多计算机相关技术里面,包括处理器,内存,硬盘和网络,其Ban...

2021-04-21 10:19:49 788

转载 eBPF介绍

本文主要是对eBPF进行介绍,带大家了解eBPF是什么、通过eBPF可以做些什么事情。1.BPF起源BPF源头起源于一篇1992年的论文,这篇论文主要提出一种新的网络数据包的过滤的框架,如...

2021-04-20 10:08:27 11080

转载 GPU演义(History of the Modern Graphics Processor)

GPUComputingGPU and Computing6 days agoTechspot有关GPU非常翔实的历史记录,我花了大半个周末才读了一遍。行业的趋势,公司的沉浮,技术的变革都...

2021-04-18 08:42:02 497 1

转载 GPU: 衡量计算效能的正确姿势(2)

这次我们准备聊下决定系统计算性能的两大关键指标,1. 浮点运算能力(FLOPS), 2. 内存带宽(Memory Bandwidth)。一·为什么这两个指标很重要目前无论是嵌入式系统,P...

2021-04-15 07:09:01 1423

转载 GPU: 衡量计算效能的正确姿势(3)

上期我们讲了现代计算机体系结构通过处理器(CPU/GPU)和内存的交互来执行计算程序,处理输入数据,并输出结果。实际上,由于CPU是高速器件,而内存访问速度往往受限(如图所示,CPU和内存...

2021-04-15 07:09:01 738

转载 GPU: 衡量计算效能的正确姿势(1)

琢磨了好几天,也不知道公众号第一篇正式文章应该怎么写。现在很后悔在朋友圈高调公开公众号,还竟敢宣称有15年行业经验,大家不要信以为真,其实不过是一年经验重复了十几年而已。连知乎的小朋友都知...

2021-04-15 07:09:01 1264

转载 VFIO(Virtual Function IO)研究

主要研究VFIO在虚拟化中的应用,但VFIO的应用不止于虚拟化.VFIO的全称是Virtual Function IO,但这个名字并不能反应它的特点,以下两个假名字更能反应VFIO的特点:...

2021-04-13 08:36:36 1894 1

转载 漫谈代码可读性

我们不提倡以貌取人,但是人确实有美丑之别,美人让人赏心悦目,丑人让人。。。不那么赏心悦目。代码也一样。计算机编程里有一组相关的概念,一个叫做Prettify(美化),一个叫做Uglify(...

2021-04-12 11:50:33 831

原创 宋宝华:论一切都是文件之匿名inode

01唯有文件得人心当一个女生让你替她抓100只萤火虫,她一定不是为了折磨你,而是因为她爱上了你。当你们之间经历了无数的恩恩怨怨和彼此伤害,她再次让你替她抓100只萤火虫,那一定是因为她还爱...

2021-03-23 07:30:07 2137 2

转载 asm goto与JUMP_LABEL

版权声明:本文为CSDN博主「dog250」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/dog2...

2021-03-21 18:28:28 1522

转载 Linux内核jump label与static key的原理与示例

jump label机制进入Linux内核已经很多很多年了,它的目的是消除分支。为了达到这个目的,jump label的手段是修改分支处的代码。~把代码当做数据,代码和数据在冯诺伊曼...

2021-03-18 14:54:18 1377 5

转载 当ftrace用于用户空间

gcc4.6添加了一个编译选项-mfentry, 当程序编译之后,程序中的所有函数,除了notrace属性#definenotrace__attribute__((no_instr...

2021-03-06 11:46:49 1719

原创 宋宝华:谈一谈Linux让实时/高性能任务独占CPU的事

内容简介 本文主要讨论在高实时要求、高效能计算、DPDK等领域,Linux如何让某一个线程排他性独占CPU;独占CPU涉及的线程、中断隔离原理;以及如何在排他性独占的情况下,甚至让系统的t...

2021-02-06 09:34:53 1911 1

转载 一次解决磁盘IO读取慢全过程实战

在两台型号相同的机器上(snap1 和snap3)测试磁盘的读取速度,发现两台机器的读取速度差的很大:#dd if=/dev/dm-93 of=/dev/null bs=4M count...

2021-01-25 08:28:46 3922 1

原创 Linux阅码场 - Linux内核月报(2020年12月)

关于Linux内核月报Linux阅码场Linux阅码场内核月报栏目,是汇总当月Linux内核社区最重要的一线开发动态,方便读者们更容易跟踪Linux内核的最前沿发展动向。限于篇幅,只会对...

2021-01-22 19:19:56 814

转载 Linux内核是如何巧妙的初始化各个模块的

相信很多在研究linux内核源码的同学,经常会发现一些模块的初始化函数找不到调用者,比如下面的网络模块的初始化函数:// net/ipv4/af_inet.cstatic int __...

2021-01-19 18:05:00 730

转载 使用trace-event解决系统不能深度睡眠的问题

最近遇到一个问题,系统不能睡眠到c7s,只能睡眠到c3.(c-state不能到c7s,cpu的c-state, c0是运行态,其它状态都是idle态,睡眠的越深,c-state的值...

2021-01-13 07:54:28 946

转载 Linux 能否拿下苹果 M1 阵地?

开发者们在努力!作者 | 苏宓出品 | CSDN(ID:CSDNnews)自去年 11 月苹果自研 M1 芯片落地以来,业界开发者纷纷对其”打起了主意“,有人称 M1 芯片是否真的如传闻...

2021-01-12 12:15:00 480

转载 memcg lru lock 血泪史

背景自电子计算机诞生以来,内存性能一直是行业关心的重点。内存也随着摩尔定律,在大小和速度上一直增长。现在的阿里云服务器动辄单机接近TB的内存大小,加上数以百记的CPU数量也着实考验操作系...

2021-01-10 14:04:27 1424

原创 宋宝华:Linux内核中用GFP_ATOMIC申请内存究竟意味着什么?

本文目的 本文补充校正一些Linux内核开发者关于GFP_ATOMIC的认知不完整的地方,阐述GFP_ATOMIC与free内存watermark的关系,并明确什么时候应该用GFP_AT...

2021-01-04 07:59:25 1334

转载 一张图看懂linux内核中percpu变量的实现

我们在使用各种编程语言进行多线程编程时,经常会用到thread local变量。所谓thread local变量,就是对于同一个变量,每个线程都有自己的一份,对该变量的访问是线程隔离的,...

2021-01-02 09:55:20 1990

原创 宋宝华: ARM64 Linux内核页表的块映射

内核文档Documentation/arm64/memory.rst描述了ARM64 Linux内核空间的内存映射情况,应该是此方面最权威文档。以典型的4K页和48位虚拟地址为例,整个内...

2020-12-31 07:07:50 1381

转载 Linux内核工程师是怎么步入内核殿堂的?

前言:在全球顶级开源会议KubeCon +CloudNativeCon + Open Source Summit ,经陈莉君老师的引荐,我们有幸认识了这位长期活跃在一线的全球顶级内核开发...

2020-12-21 17:45:00 1377 1

转载 微软正在自研 ARM 芯片,在 Surface / Azure 服务器中抛弃 Intel 处理器

IT之家12月19日消息据彭博社报道,微软将会推出一款新的 Surface 产品,该产品将运行在自研基于 ARM 的处理器上。如果属实,这将是微软自家芯片首次为 Surface 产品提...

2020-12-20 07:55:23 408

转载 用eBPF写TCP拥塞控制算法

其实不想用这个题目的,只因为TCP相关的东西比较吸引人的眼球,这篇文章的主题还是eBPF,而不是TCP。用eBPF写TCP拥塞控制算法只是本文所讲内容的一个再平凡不过的例子。先看两个问题...

2020-12-18 08:01:00 1024 1

原创 Linux阅码场 - Linux内核月报(2020年11月)

关于Linux内核月报Linux阅码场Linux阅码场内核月报栏目,是汇总当月Linux内核社区最重要的一线开发动态,方便读者们更容易跟踪Linux内核的最前沿发展动向。限于篇幅,只会对...

2020-12-15 17:43:02 1165

转载 郭健: 进程切换分析之——TLB处理

一、前言进程切换是一个复杂的过程,本文不准备详细描述整个进程切换的方方面面,而是关注进程切换中一个小小的知识点:TLB的处理。为了能够讲清楚这个问题,我们在第二章描述在单CPU场景下一些...

2020-12-04 19:02:49 2974 1

转载 VFIO —将 DMA 映射暴露给用户态

来自:ggaaooppeenngg链接:https://ggaaooppeenngg.github.io/zh-CN/2017/06/05/VFIO-——将-DMA-映射暴露给用户态/...

2020-12-03 08:05:00 2084

转载 深入探究Linux Kprobe机制

来自:liuhangtiant链接:https://blog.csdn.net/liuhangtiant/article/details/109555795概述kprobe机制用于在内...

2020-11-30 17:52:00 1263

原创 Linux阅码场 - Linux内核月报(2020年10月)

关于Linux内核月报Linux阅码场Linux阅码场内核月报栏目,是汇总当月Linux内核社区最重要的一线开发动态,方便读者们更容易跟踪Linux内核的最前沿发展动向。限于篇幅,只会对...

2020-11-14 07:39:47 3342 5

原创 宋宝华:为什么Linux内核常常用unsigned long来代替指针

本文目录 不知道自己不知道!指针何时指针?指针何时是整数?物理地址是指针?模糊地带绝世好代码?昨天我犯了一个错误把指针和整数“混淆”的错误,幸得队友王童鞋指正,今早起床,我把这个心...

2020-11-12 08:13:03 3838 3

转载 Linux 内核编译 LOCALVERSION 配置(分析内核版本号自动添加的"+"号)

1 问题发现编译主线kernel版本的时候发现, 的内核版本编译成功后生成的版本号变成了"x.y.z+", 为什么后面会多一个加号呢?刚开始考虑是不是CONFIG...

2020-11-07 08:43:32 1185

原创 宋宝华:深入理解cache对写好代码至关重要(上)

There are only two hard things in Computer Science: cache invalidation and naming things.-- ...

2020-10-31 08:02:35 2477 3

原创 宋宝华:公元1024年Linux内核的尘封往事

公元2022年,10月24日,破晓时分,虽刚过中秋,离立冬尚远,清晨竟生出一阵阵寒意。树叶随风沙沙作响,他静静地坐在阅码场车站的一把长椅上。自打10岁起,每天黎明时分他都在会在这个车站守...

2020-10-24 07:33:48 1206

转载 容器技术之发展简史

背景“云原生技术有利于各组织在公有云、私有云和混合云等新型动态环境中,构建和运行可弹性扩展的应用。云原生的代表技术包括容器、服务网格、微服务、不可变基础设施和声明式API。”聊容器技术避...

2020-10-21 07:30:00 1269 1

转载 迟到的Meltdown/Spectre分析

Meltdown/Spectre在2018年初闹得沸沸扬扬, 可以说是有史以来最有影响的cpu漏洞了. 当时有过简单了解, 但是不够深入, 这两天重新又看了一下.背景知识乱序执行cpu的...

2020-10-20 08:15:00 1598

转载 透过Tracepoint理解内核 - 调度器框架和性能

静态tracepoint预埋在内核的关键位置, 通过这些预埋的tracepoint, 可以比较容易梳理出相关模块的框架及主要流程. 相比于直接钻到scheduler的实现细节中去, 我们...

2020-10-14 08:23:00 3654

宋宝华 - 深入探究Linux设备树CSDN讲座ppt

宋宝华 - 深入探究Linux设备树CSDN讲座ppt。详细的论述的device tree的方方面面。

2017-08-20

Linux总线、设备和驱动模型

宋宝华 - Linux总线、设备和驱动模型的详细讲座的ppt分享。

2017-08-12

在ARM板子上直接跑的gdb

在ARM板子上直接跑的gdb, 版本GDB 7.5,static编译的。可以放在板子上直接调程序,看bt,看core dump。

2017-02-25

Android和Ubuntu同时运行

Android和Ubuntu同时运行的视频

2012-05-03

宋宝华-PowerPC VxWorks BSP学习与分析

讲述PowerPC VxWorks BSP和设备驱动开发全套流程。

2010-03-13

LDD6410 S3C6410开发板原理图

LDD6410 S3C6410开发板原理图

2010-03-09

LDD6410 S3C6410开发板开发与使用手册

LDD6410 S3C6410开发板开发与使用手册,全面描述了U-BOOT、Linux、BSP、驱动、Android 1.6,QT embedded 4.5.3的移植和开发技术。

2010-03-09

空空如也

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

TA关注的人

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