- 博客(257)
- 资源 (6)
- 收藏
- 关注
原创 windows神操作笔记
参考链接:Windows: Mouse Hover to Activate Window http://xahlee.info/mswin/windows_mouse_hover_activate_window.html。
2022-10-03 09:07:59
176
原创 page 第二次机会法的arm底层实现机制
arm 页表的bit位描述,以及缺页流程了解。linux页表和arm 页表关系。底层汇编代码了解梳理。
2022-09-25 23:32:51
555
原创 wsl使用实践
前置条件打开开发者选项启动或关闭windows功能中选择打开虚拟机选项启动或关闭windows功能中选择,如下图允许使用 windows支持linux功能启动或关闭windows功能中选择4. windows store安装wsl我升级的是20.04.1 , 20.04.4升级失败没有找到原因,ubuntu 版本没有尝试,看时间比22.04.1晚,后面尝试。5. 启动。
2022-09-05 07:33:17
370
原创 vmware ubuntu 操作
菜单栏中, 虚拟机-》设置-》共享目录所在地方:/mn/hgfsps: 可能需要在步骤之前安装好 open vm tools或者 vmware tools。
2022-09-03 20:01:39
270
原创 do_cow_fault
1) so 映射的 rw的数据段,bss段2)私有文件映射,如脏牛漏洞例子3) 一些不希望修改源文件的场景,可能某些调试和trace场景需要,如/proc/pid/mem。
2022-08-19 00:29:14
215
原创 smmu梳理
参考引用见参考资料章节)访问非连续的地址现在系统中很少再预留连续的memory,如果Master需要很多memory,可以通过SMMU把一些非连续的PA映射到连续的VA,例如给DMA,VPU,DPU使用。32位转换成64位现在很多系统是64位的,但是有些Master还是32位的,只能访问低4GB空间,如果访问更大的地址空间需要软硬件参与交换memory,实现起来比较复杂,也可以通过SMMU来解决,Master发出来的32位的地址,通过SMMU转换成64位,就很容易访问高地址空间。...
2022-07-17 21:26:10
1067
原创 gitee 操作总结
git操作git config --global user.name “用户名”git config --global user.email “邮箱”git initInitialized empty Git repository in D:/code/my_code/python/text/gitee/python/.git/$ touch README.md$ git add README.md$ git commit -m “first commit”[master (root-com
2022-02-12 20:26:06
736
原创 uio驱动框架
核心,利用mmap进行映射参考资料uio 编写实例 1 https://blog.youkuaiyun.com/wujiangguizhen/article/details/12453253uio编写实例 2 https://blog.youkuaiyun.com/sunjing_/article/details/74725976https://blog.youkuaiyun.com/lsz137105/article/details/100588871...
2022-01-10 23:18:07
369
原创 linux kernel ptrace 流程梳理
ptrace 背景ptrace 是linux 中跟踪进程使用的一种方式手段,主要方法是使用stop 信号将目的进程stop掉, 然后使用gup.c中的get_user_page对目的进程的地址空间进行访问从代码角度讲,ptrace 是linux 的一个系统调用, 详细描述可以man ptrace查看代码流程ptrace 系统调用代码文件 kernel/ptrace.c主要代码流程:ptrace_attach: 1) ptrace_link将自己链接到parent 2) 将对方任务stop掉,
2021-11-07 21:54:35
487
原创 技术博客学习网址
个人博客https://blog.codinghorror.com/https://www.joelonsoftware.com/http://blog.cleancoder.com/https://medium.com/@steve.yegge
2021-10-03 15:54:21
1024
原创 linux 关注网站
内核开发资讯核心网站https://www.phoronix.com/scan.php?page=homehttps://lwn.net/linux 内核开发https://www.linux.com/https://kernelnewbies.org/ linux开发者需要重点关注的网站https://lkml.org/lkml/ 邮件列表网站it新闻类网站https://slashdot.org/ it类的前沿新闻https://www.theregister.com/ IT
2021-10-01 21:32:57
528
1
原创 边缘计算资料整理
参考资料2020年边缘计算发展https://mp.weixin.qq.com/s?__biz=MzIyNDc4MTQxNw==&mid=2247484971&idx=1&sn=2f8ea7a07fcc55c8e849f22625861825&chksm=e808f32ddf7f7a3ba4d637d9f714c79d696af4c42a2985a3124e92128e35d43a33cbbcd01e6b&scene=21#wechat_redirect...
2021-07-25 16:34:19
166
原创 体系结构体
参考资料基于深入理解计算机系统进行的总结https://blog.youkuaiyun.com/jisuanji198509/article/details/80474613top_down的性能分析方法https://zhuanlan.zhihu.com/p/64529137
2021-07-18 15:59:29
79
原创 cfs调度的抢占
结论分析不能的policy之间是可以抢占的,比如sched_normal policy可以抢占sched_idle policy 的任务。 sched_batch 不抢占唤醒时的唤醒任务和被幻想任务,如果两个特性 next_buddy 以及 last_buddy被打开的话,是可以支持抢占的如果wakeup任务的vruntime时间小于curr的vruntime时间,差值大于sysctl_sched_wakeup_granularity, 则设置next_buddy (set_next_buddy)
2021-07-08 22:57:58
243
原创 linux cfs调度算法理解
cfs调度算法理解时间片计算方法整体理解:根据优先级权重分享调度周期的时间公式:sched_slice = (task_load / rq_load_total) * sched_latencysched_latency 在linux上面是有配置i的,当任务小于8个的时候,使用sched_latency , 如果大于8个的话, rq上面的任务个数*sched_granurity.ubuntu 上面的配置如下:调度周期 sched_latency,即调度队列中所有任务时间片执行一次的时间对应
2021-07-04 16:57:25
1006
3
原创 cgroup cpu group 源码分析
cpu group pick_next函数以下代码来自 pick_next_task_fair···6739 /*6740 * Because of the set_next_buddy() in dequeue_task_fair() it is rather6741 * likely that a next task is from the same cgroup as the current.6742 *6743
2021-06-20 23:10:00
228
原创 技术大会整理
会议列表中国内核开发者大会 clk 时间:10/242020年中国嵌入式技术大会 9/10各个手机发布会 华为/小米/ov各个公司开发者大会linux相关开发者大会KubeCon和CloudNativeConhttps://blog.youkuaiyun.com/lQ1NS259ej3OKYvK4Jf/article/details/83353474?ops_request_misc=&request_id=&biz_id=102&utm_term=%E4%BC%9
2021-06-19 07:37:33
205
原创 cgroup_memcg
总结参考资料各个group参数配置说明,包含softlimit 讲解https://blog.youkuaiyun.com/pillarbuaa/article/details/79207036
2021-06-14 23:01:11
172
原创 namespace
原理简介task struct 成员 nsproxy系统内部函数有一个参数是namespace, 使用current->nxproxy传入进行设置namespace 创建fork 流程处理主要源文件:fs/namespace.c参考资料源码分析https://blog.youkuaiyun.com/WaltonWang/article/details/53900248源码和命名空间实验https://blog.youkuaiyun.com/zhonglinzhang/article/detail
2021-06-14 21:45:45
92
原创 kata container
kata 原理总结:docker 技术和vm 技术的折中方案。更薄的vm, 以及小的minios 以及文件系统image(只有init 和kata agent),将容器引擎移到host os上面。
2021-06-14 14:28:59
204
原创 云原生相关技术学习
容器运行时:https://zhuanlan.zhihu.com/p/104638785k8s组件https://blog.youkuaiyun.com/qq_45534034/article/details/112691474zookeeper:那么Zookeeper能做什么事情呢,简单的例子:假设我们有20个搜索引擎的服务器(每个负责总索引中的一部分的搜索任务)和一个总服务器(负责向这20个搜索引擎的服务器发出搜索请求并合并结果集),一个备用的总服务器(负责当总服务器宕机时替换总服务器),一个web的cg
2021-06-11 08:28:08
81
原创 vscode编辑器
常用插件c++ intellisense/C/C++ for Visual Studio Codegitlenscomparethuawei:wecode c++, wecode(foundation, intelli, codecheck, codereview), nextcode 组件远程gdb调试:remotedev, remote build dev单词拼写检查,code Spellchecker语法检查:clang checkBracket Pair Colorizerau
2021-06-06 08:28:06
287
原创 gdb 代码调试
GDBlinux 源码级别调试layout nextlayout src 源码窗口layout regs 寄存器窗口focus cmd/src/asm/regs/next/prev更新源代码窗口和当前执行点updatehttps://blog.youkuaiyun.com/weixin_41783335/article/details/103110159?utm_medium=distribute.pc_aggpage_search_result.none-task-blog-2aggregatep
2021-06-05 23:50:54
60
原创 vim学习总结
vim搜索文件插件CtrlP,Command-T,FuzzFinder,Unitesnipt提高代码编写速度方法语法检查:https://zhuanlan.zhihu.com/p/261665352
2021-05-23 21:52:40
156
原创 page类型
evictablepage dirtyclear_page_dirty_for_io 在实际文件系统中大量存在,但是都是为了支持这些文件系统的一些特殊的特性,比如f2fs的垃圾回收.mm/page-writeback.c 2228行左右,发现在调用实际文件系统的writeback写回之前,会将文件的脏位取消掉,所以到真正的的write_back之前,其实page的dirty位已经没有了!同时,write_one_page函数中,在调用珍重的writeback函数之前也会把页的脏位去掉!
2021-05-16 23:00:55
571
原创 ebpf
参考资料https://blog.youkuaiyun.com/Rong_Toa/article/details/108993870 字节总结https://kernel.taobao.org/2019/05/bcc_to_xdp/ 阿里总结
2021-05-15 22:20:12
163
原创 性能调优整理
perf调度时延perf sched record sleep 5perf sched latency --sort maxperf 使用probe打桩打印调用栈(使用jprobe 实现,自己写jprobe也可以实现打印调用栈)perf probe -a enqueue_entityperf record -e probe:enqueue_entity -ag sleepperf report参考资料https://blog.youkuaiyun.com/yiyeguzhou100/article/
2021-05-09 21:46:47
236
原创 linux 负载
负载定义load_avg/util_avginclude/linux/sched.h有定义struct sched_avg {load_avg 包含进程睡眠所花的时间runnalbe_load_avg只包含任务在rq上面所花费的时间代码区别查看分析确认:数据结构task_struct -> sched_entity -> sched_avgcfs_rq-> sched_entity(curr, last, next)->-> sched_avg和cg
2021-05-09 15:50:44
309
原创 linux收发数据包
缓冲区总结ring_buffer 网卡的缓冲区,和硬件相关,只保存skb_buf head, 不保存数据。 数据保存在nic memory中txquelen qdisk_len , 需要和ring_buffer设置的大小保持一致。back_log_len napi_pool 从里面区数据。 硬件中断将数据从nic_memory中拷贝到soft_net的input_queue_len中?sock读写缓冲区中断收包流程drivers/net/ethernet/amd/ni65.cni65
2021-04-13 21:33:59
135
原创 网络问题定位
参考资料arm包丢失导致的网络连接慢问题https://www.ithothub.com/tcp/2020042311392206.html
2021-04-12 23:51:19
362
原创 页表属性总结
参考资料Linux内核缺页二三事https://blog.youkuaiyun.com/rockrockwu/article/details/80993594
2021-04-06 21:11:36
348
原创 arm64
参考资料arm32和arm64寄存器对比https://blog.youkuaiyun.com/qq_24601427/article/details/103297055
2021-04-05 19:51:27
102
原创 namespace原理
参考资料https://blog.youkuaiyun.com/zhonglinzhang/article/details/64441263
2021-04-05 12:46:31
192
原创 docker 容器
容器的基本原理容器技术是一种轻量级的虚拟化技术,通过使用cgroup+namespace+rootfs隔离(pirot_chroot)+ libcontainer, 虚拟分配计算资源,达到合理利用空闲资源的目的。各个容器是共用内核的,因此容器隔离性没有传统虚拟机隔离的彻底。比如,如果插入一个ko导致panic, 整个机器都会复位。容器= cgroup+namesapce+rootfs(文件系统隔离)+容器引擎(libcontainer, 负责容器的创建和生命周期管理)详细技术namespace
2021-04-05 12:01:37
132
TFT-6862液晶模块资料SmartARM2400开发板驱动手册LQ035Q1DG01_Spec.pdf
2011-03-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人