加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

An Overview of Kernel Lock Improvements 学习乱记(1) 欢迎拍砖

(2014-09-18 09:57:41)
标签:

杂谈

http://events.linuxfoundation.org/sites/events/files/slides/linuxcon-2014-locking-final.pdf

这篇文章在WEIBO上被很多人转了,今天利用早起(前提是孩子没起)的时间学习了一会,简单乱记一下。

最开始一段就是NUMA,俺们码农现在就是要踢翻摩尔定律。你们搞多核我们分析CACHE问题,你搞NUMA我们更加的分析你的CACHE问题。

这篇文章搞的是大家一起来抢锁的高端测试,果然数字难看到爆炸。

然后给出的第一个解决思路既然不同的SOCKET之间的抢CACHE打的厉害,那就每个SOCKET申请一块内存来操作吧,然后就出了一个MCS Locks。

肯定有人问了,要是某些情况每个SOCKET分配一块内存不实用怎么办呢?解决方案就是多读少写,读的多了他们就不打了。

Orig: if (atomic_cmpxchg(&lock->count, 1, 0) == 1)

New: if ((atomic_read(&lock->count) == 1) && (atomic_cmpxchg(&lock->count, 1, 0) == 1))

这是文中给出的例子。

果然这两招是解决CACHE问题的不二招数啊。

后面的部分还有待继续消化。

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有