Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1203591
  • 博文数量: 185
  • 博客积分: 495
  • 博客等级: 下士
  • 技术积分: 1418
  • 用 户 组: 普通用户
  • 注册时间: 2012-09-02 15:12
个人简介

治肾虚不含糖,专注内核性能优化二十年。 https://github.com/KnightKu

文章分类

全部博文(185)

文章存档

2019年(1)

2018年(12)

2017年(5)

2016年(23)

2015年(1)

2014年(22)

2013年(82)

2012年(39)

发布时间:2014-04-01 16:06:42

引子前两天我们QA发现了一个比较有意思的bug,我细细分析一下,发现多个进程卡死在一个·配置文件上。简单的说,我们为了防止多个进程同时写同一个配置文件,将文件格式破坏,我们用了flock,对于写打开,同时调用flock 系统调用,LOCK_EX方式。当然了由于持有锁,就必须临界区要小,写完之后,尽量释放,持有锁的期.........【阅读全文】

阅读(977) | 评论(0) | 转发(0)

发布时间:2014-03-05 16:23:28

最近用了一下netlink,比较方便。特将netlink编程中的注意事项列下:1、选一个没有用到的协议类型,注意要避开netlink.h中已经定义好的类型。注意保证内核层和用户层的协议类类型的一致。也就是说内核层创建netlink函数netlink_kernel_create的第一个参数和用户层创建socket的socket函数的第三个参数要一致。.........【阅读全文】

阅读(1137) | 评论(0) | 转发(0)

发布时间:2014-02-18 14:31:49

Even a casual reader of the kernel source code is likely to run intoinvocations of the ACCESS_ONCE() macro eventually; there are wellover 200 of them in the current source tree. Many such readers probably donot stop to understand just what that macro means; a recent discussion onthe mailing lis.........【阅读全文】

阅读(2119) | 评论(0) | 转发(0)

发布时间:2014-02-18 14:31:00

Spinlock的目的是用来同步SMP中会被多个CPU同时存取的变量。在Linux中,普通的spinlock由于不带额外的语义,是用起来反而要非常小心。在Linux kernel中执行的代码大体分normal和interrupt context两种。tasklet/softirq可以归为normal因为他们可以进入等待;nested interrupt是interru.........【阅读全文】

阅读(3483) | 评论(0) | 转发(1)

发布时间:2014-02-18 14:29:23

Linux内核里的等待队列机制在做驱动开发时用的非常多,多用来实现阻塞式访问,下面简单总结了等待队列的四种用法,希望对读者有所帮助。1. 睡眠等待某个条件发生(条件为假时睡眠):    睡眠方式:wait_event, wait_event_interruptible        &nb.........【阅读全文】

阅读(1364) | 评论(0) | 转发(0)
给主人留下些什么吧!~~

登高望远海2013-09-16 22:09

你乃博客狂人。。。。。。。。。

回复  |  举报
留言热议
请登录后留言。

登录 注册