3 一起交流

尚未进行身份认证

暂无相关简介

等级
TA的排名 6w+

gcc 插件实践 一

gcc 插件实践 一重要内容参考自 https://zhuanlan.zhihu.com/p/49490338在ubuntu中直接实践以下代码,通常会遇见以下几种错误。/* ------ plugin1.c ------ */#include "gcc-plugin.h"#include "plugin-version.h"int plugin_is_GPL_compatible;...

2020-02-24 21:12:53

深入理解 Linux 的 RCU 机制

深入理解 Linux 的 RCU 机制转载 https://www.cnblogs.com/qcloud1001/p/7755331.html欢迎大家前往腾讯云社区,获取更多腾讯海量技术实践干货哦~作者:梁康RCU(Read-Copy Update),是 Linux 中比较重要的一种同步机制。顾名思义就是“读,拷贝更新”,再直白点是“随意读,但更新数据的时候,需要先复制一份副本,在副本上完...

2020-02-23 23:02:37

Linux中的spinlock机制[三] - qspinlock

原文转载自 https://zhuanlan.zhihu.com/p/100546935Linux中的spinlock机制[三] - qspinlock上文说到,MCS lock可以解决在锁的争用比较激烈的场景下,cache line无谓刷新的问题,但它内含一个指针,所以更消耗存储空间,但这个指针又是不可或缺的,因为正是依靠这个指针,持有spinlock的CPU才能找到等待队列中的下一个节点,...

2020-02-05 22:02:26

对优化说不 - Linux中的Barrier

原文引用自 [https://zhuanlan.zhihu.com/p/96001570]感谢原作者对优化说不 - Linux中的Barrier我们编写的源代码需要经过编译器转换成机器指令,最后由CPU执行这些指令。编译器作为一个“翻译官”,并不会老老实实地逐条翻译,而是会对我们的代码按照自己的“想法”进行调整和重组。CPU作为一个执行部件,对交给它的指令也不会规规矩矩的逐条执行,而是会重...

2020-02-05 21:32:52

Linux内核Makefile文件

本文是冷烟花原创,转载请注明出处!https://www.cnblogs.com/jason-lu/p/3728198.htmlLinux内核Makefile文件(翻译自内核手册)–译自Linux3.9.5 Kernel Makefiles(内核目录documention/kbuild/makefiles.txt)kbuild(kernel build)内核编译器This docume...

2020-01-03 11:18:37

Linux内核升级

本文作者: Jason hu本文链接: http://jasonhzy.github.io/2019/02/06/ubuntu-kernel-upgrade/版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 3.0 许可协议。转载请注明出处!Linux内核升级本文作者: Jason hu本文链接: http://jasonhzy.github.io/2019/02...

2019-12-22 22:02:26

实现64位操作系统的问题解决系列:(三)程序4-11 因为__switch_to符号未定义,编译失败

实现64位操作系统的问题解决系列:(三)程序4-11 因为__switch_to符号未定义,编译失败ub16或者ub18上实践田宇大佬的64位操作系统的设计与实现,因为环境的原因,书中提供的代码并不能完全编译成功,前面我写了实现64位操作系统的问题解决系列:(一)和(二)基本编译到程序4-10都不会出问题,但是到程序4-11就会 因为__switch_to符号未定义,编译失败。问题描述经过实...

2019-12-14 20:19:32

简单的内核内存查看方法

简单的内核内存查看方法有时候需要调试内核的内存,又不想搭建qemu调试环境的话,可以简单写一个内核模块,来测试一下。直接看代码注意:环境ub16函数__get_free_page不要用get_free_page$ cat hello.c#include <linux/module.h>#include <linux/slab.h>#include <l...

2019-12-11 23:15:09

group test

void list_from_chunks(Elem **ptr, Elem **chunks, int avoid, int group_len){ int next = (avoid+1)%group_len; Elem *other = chunks[avoid]; Elem *tmp = other; other->prev = NULL; p...

2019-10-13 16:46:40

linux 怎么看自己cache info

linux 怎么看自己cahce info到如下:root@zhangji16vm:/sys/devices/system/cpu/cpu0/cache# pwd/sys/devices/system/cpu/cpu0/cacheroot@zhangji16vm:/sys/devices/system/cpu/cpu0/cache# ls -a. .. index0 index1 ...

2019-09-24 15:51:44

linux 下设置线程优先级

linux 下设置线程优先级原文链接:http://www.cnblogs.com/xiaotlili/p/3510224.htmlroot@ubuntu:tmp# cat test2.c#include <stdio.h>#include <unistd.h>#include <stdlib.h>#include <pthread.h>...

2019-09-12 11:14:45

Linux perf 1.1、perf_event内核框架

转载 感谢原文作者 Linux perf 1.1、perf_event内核框架 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...

2019-09-07 14:51:56

mmap 持续跟进

mmap 函数demo1zhangji16@zhangji16vm:/tmp$ cat demo.c #include <stdio.h>#include <stdlib.h>#include <string.h>#include <stdint.h>#include <stdbool.h>#include <sig...

2019-08-31 10:21:03

驱动参数传递

驱动参数传递直接看代码root@zhangji16vm:/home/zhangji16/c_study/ko_study/prj1# cat hello.c#include <linux/init.h>#include <linux/module.h>#include <linux/moduleparam.h> MODULE_LICENSE("Du...

2019-08-30 14:55:30

virsh xml创建kvm虚拟机

virsh xml创建kvm虚拟机准备工作sudo apt-get updatesudo apt-get install qemu-kvm sudo apt-get install vnc4serversudo apt-get install bridge-utils增加网卡内容如下:root@zhangji16vm:/home/prj1# cat /etc/network/in...

2019-08-24 16:00:31

Linux shell实现多进程并发执行

二次转载自 https://blog.csdn.net/hellojoy/article/details/77340238在bash中,使用后台任务来实现任务的“多进程化”。在不加控制的模式下,不管有多少任务,全部都后台执行。也就是说,在这种情况下,有多少任务就有多少“进程”在同时执行。我们就先实现第一种情况:实例一:正常情况脚本———————————————————————————–#!...

2019-08-15 11:57:10

linux下把进程/线程绑定到特定cpu核上运行

转载自 https://blog.csdn.net/guotianqing/article/details/80958281 感谢原文作者的分享概述现在大家使用的基本上都是多核cpu,一般是4核的。平时应用程序在运行时都是由操作系统管理的。操作系统对应用进程进行调度,使其在不同的核上轮番运行。对于普通的应用,操作系统的默认调度机制是没有问题的。但是,当某个进程需要较高的运行效率时,就有必要考...

2019-08-14 20:20:52

ubuntu 切换内核镜像

ubuntu 切换内核镜像产生initramfs image映像zhangji16@zhangji16vm:/usr/src/linux-4.14.1$ sudo mkinitramfs -o /boot/initrd.img-4.14.1更新initramfszhangji16@zhangji16vm:/usr/src$ sudo update-initramfs -c -k 4.14....

2019-08-11 08:32:48

PyQt5中设置QtreeWidget水平滚动条

PyQt5中设置QtreeWidget水平滚动条这个问题,困惑我好一段时间,网上找了很多资料,各种尝试都没解决,隐隐约约在一个论坛中一个作者提到一句话,才得到解决。问题描述如下:开发过程中,有时候会去开发树形展示的界面,尤其文件管理系统时。由于pyqt5 单独python的文档比较少,大多是基于C++写的文档,所以大家在开发的时候,基本都是经验加摸着石头过河的方式在python中开发Qt界面...

2019-08-07 11:24:14

signal 阻塞与屏蔽

signal,此函数相对简单一些,给定一个信号,给出信号处理函数则可,当然,函数简单,其功能也相对简单许多,简单给出个函数例子如下: 1 #include <signal.h> 2 #include <stdio.h> 3 #include <unistd.h> 4 5 void ouch(int sig) 6 { 7 pr...

2019-08-04 19:28:36

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。