- 博客(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
LDD6410 S3C6410开发板开发与使用手册
2010-03-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人