- 博客(6)
- 资源 (1)
- 收藏
- 关注
原创 在MacOS上交叉编译aarch64 linux内核源码
由于笔者的日常工作都是基于MacOs的笔记本,日常的工作总需要切换跳转机到aarch64的机器上编译内核,因此想在本地修改直接本地交叉编译,也踩了不少坑。目前看网上也没有相关的踩坑的资料,这里仅以记录,希望对各位有帮助直接使用github上一个同学做好的工具:安装gcc编译内核踩坑实录问题一: ld: unknown option: --version问题二: scripts/sorttable.c:27:10: fatal error: ‘elf.h’ file not found在内
2022-06-13 10:25:59
3069
1
原创 linux “__context__“ 属性含义
在分析Linux RCU lock的时候,发现每次在rcu_read_lock/rcu_read_unlock的时候,都会成对出现__acquire/release接口,这两个接口的定义都是__context,但是在内核中并没有找到出处。查阅了相关资料,原来这个东西是给Linux代码静态检查工具使用的,为了保证lock/unlock必须成对出现使用的。其中 __acquires(x) 和 __releases(x), __acquire(x) 和 __release(x) 必须配对使用, 否则 Sparse
2022-06-07 15:50:59
426
原创 intel PAUSE指令功效分析
翻译成人话的意思是,其功效主要是两个:之前在一个问题分析中有提到C库中Intel使用了rep nop(事实上就是PAUSE)来优化他的抢锁的性能,因此这里依然使用pthread_spin_lock的实现进行魔改来测试性能:从实际测试结果上来看,性能似乎并没有太大变化,甚至于nopause的性能还要略优于pause的性能:从测试功耗结果的角度看,确实节省了不少功耗,32个线程测试时,pause场景比nopaus场景,整机功耗能够下降将近25W左右,也就是说Intel手册上说明的功耗降低是有意义的,但是性能却
2022-06-07 15:49:09
527
原创 nginx测试异常问题定位
在Intel上测试nginx发现了一个比较奇怪的现象,服务端压测时候,负载总是无法压上去,反而客户端随着核数增加,负载几乎100%,并且主要集中在sys上。分析从当前跟随核数的特征以及top显示的结果上看,问题大概率出现在抢锁的问题上。通过perf采样,可以证实:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UkZMMRs1-1654587488940)(https://user-images.githubusercontent.com/17999499/16779
2022-06-07 15:43:12
477
翻译 现代处理器性能分析及优化-序
一直以来,工程师都有一个观念:“性能为王”,以前是,现在是,以后更是。根据《Data Never Sleeps 5.0》调查研究,世界上每天产生2.5万亿字节的数据,并且保持着每年25%的速度递增。在我们如今的社会生活中,信息产生的来源越来越多,信息交换的速度越来越快,推动了对更快软件(SW)和更快硬件(HW)的需求。简而言之,数据增长不仅对计算能力提出了更高的需求,而且对存储和网络系统也提出了更高需求。在PC时代,开发人员通常直接在操作系统之上编程,有时候还不可避免的需要直接参与控制硬件。随着世界进入云时
2022-06-07 15:36:46
1549
4
原创 gradle proxy配置
由于公司的网络无法直接访问外网,在用gradle的时候,必须配置代理gradle的代理配置网上教程较多,这里基本上也是复制网上的基础配置,谨以此作为备案,以便后续查看在gradle工程中,最好在以下两个文件中,均添加以上配置:由于gradle的maven源经常是https协议的,这样会导致https的证书错误:因此需要根据build.gradle中访问的网址将需要的证书逐个导入到jdk中:证书可以通过使用浏览器访问该网站,然后导出到文件中,编码选择base64编码即可这里需要注意,证书有时候是多级认证
2022-06-07 15:30:15
6224
rtl8192.run
2020-02-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人