linux kernel
文章平均质量分 51
macyang
Chance is waiting for prepared people and my Status is read the fucking source code.
展开
-
UNIX send() message size
TCP is a stream of bytes. You can send anything, but they all end up like a stream of bytes at the other end. If you want to send and receive fixed sizemessages, just make sure both side原创 2009-08-19 22:51:00 · 779 阅读 · 0 评论 -
CVS keeps changing file permissions; why does it do that?
<br />In general, CVS doesn't do a very good job of preserving permissions onfiles. When you import a project and then check it out, there is noguarantee that the file permissions in the new working copy will be thesame as when the project was imp转载 2010-08-12 13:22:00 · 555 阅读 · 0 评论 -
Linux内核内存分配
<br />1.原理说明<br /><br /> Linux内核中采 用了一种同时适用于32位和64位系统的内 存分页模型,对于32位系统来说,两级页表足够用了,而在x86_64系 统中,用到了四级页表,如图2-1所示。四级页表分别为:<br /><br /> * 页全局目录(Page Global Directory)<br /><br /> * 页上级目录(Page Upper Directory)<br /><br /> * 页中间目录(Page Middle Direct转载 2010-08-12 16:33:00 · 2382 阅读 · 0 评论 -
libketama - a consistent hashing algo for memcache clients
<br />We wrote ketama to replace how our memcached clients mapped keys to servers. Previously, clients mapped keys->servers like this:<br /><br />server = serverlist[hash(key)%serverlist.length];<br /><br />This meant that whenever we added or removed转载 2010-09-05 22:22:00 · 873 阅读 · 0 评论 -
Memcached Slabs
<br />1. slabs.h<br />/* slabs memory allocation */view plaincopy to clipboardprint?/** Init the subsystem. 1st argument is the limit on no. of bytes to allocate, 0 if no limit. 2nd argument is the growth factor; each slab will use a chunk size原创 2010-09-05 22:32:00 · 1008 阅读 · 0 评论 -
Redis Virtual Memory: the story and the code
<br />If you are reading this article probably you already know it: Redis is an in-memory DB. It's persistent, as it's disk backed, but disk is only used to persist, all the data is taken in the computer RAM.<br /><br />I think the last few month转载 2010-12-23 15:49:00 · 1031 阅读 · 0 评论 -
redis + tcmalloc提升性能
Buliding using tcmalloc-----------------------tcmalloc is a fast and space efficient implementation (for little objects)of malloc(). Compiling Redis with it can improve performances and me原创 2011-06-03 18:07:00 · 2439 阅读 · 0 评论 -
Linux: socket accept - "Too many open files"
一个老问题了,经常忘记如何去fixed,所以在这里mark一下!There are multiple places where Linux can have limits on the number of file descriptors you are al原创 2011-07-04 09:48:27 · 3563 阅读 · 0 评论 -
Playing with Virtual Memory
文章来源:http://www.snailinaturtleneck.com/blog/2011/08/30/playing-with-virtual-memory/ 很赞的一篇文章!When you run a process, it needs some memor原创 2011-09-01 22:43:12 · 1100 阅读 · 0 评论 -
漫谈linux文件IO
在Linux 开发中,有几个关系到性能的东西,技术人员非常关注:进程,CPU,MEM,网络IO,磁盘IO。本篇文件打算详细全面,深入浅出。剖析文件IO的细节。从多个角度探索如何提高IO性能。本文尽量用通俗易懂的视角去阐述。不copy内核代码。 阐述之前,要先有个大视角,让我们站在万米高空,鸟瞰我们的文件IO,它们设计是分层的,分层有2个好处,一是架构清晰,二是解耦。让我们看一下下面这张图转载 2012-08-22 22:30:36 · 1287 阅读 · 0 评论 -
Random Shuffles
<br />This is more difficult. We have a list (x1,..., xn) and we wantto shuffle it randomly.<br />The following, surprisingly simple, algorithm does the trick: algorithm shuffle(x,n) // shuffle x1,..., xn<br />begin<br /> for i转载 2010-07-26 21:43:00 · 570 阅读 · 0 评论 -
The return value of "mktime" in different time zone
For time zones that are ahead of Coordinated Universal Time (Greenwich Mean Time), if you call the mktime function with the argument set to correspond to January 1, 1970 00:00:00 (midnight), mktime转载 2010-05-05 15:39:00 · 748 阅读 · 0 评论 -
Adding SVN Information to File Headers Revisited
You may already be familiar with my previous post on Adding SVN Information to File Headers. After further review, I have decided to update the content to be more explicit. I want to better define转载 2010-04-09 13:11:00 · 1098 阅读 · 0 评论 -
linux kernel source code
You can learn more things from there, just try it: http://git.kernel.org/?p=linux/kernel/git/stable/linux-2.6.32.y.git;a=tree原创 2010-01-21 14:34:00 · 1042 阅读 · 0 评论 -
Linux Scheduling Domains
1. Scheduling Domains 引入的背景:Scheduling Domains 是现代硬件技术尤其是多 CPU 多核技术发展的产物。现在,一个复杂的高端系统由上到下可以这样构成:它是一个 NUMA 架构的系统,系统中的每个 Node 访问系统中不同区域的内存有不同的速度。同时它又是一个 SMP 系统。由多个物理 CPU(Physical Package原创 2009-12-05 23:11:00 · 1014 阅读 · 0 评论 -
Data Structure: Tree
A radix tree, Patricia trie/tree, or crit bit tree is a specialized set data structure based on the trie that is used to store a set of strings.(http://en.wikipedia.org/wiki/Radix_tree) A原创 2009-12-22 17:08:00 · 798 阅读 · 0 评论 -
The Rotating Staircase Deadline Scheduler (RSDL)
CPU scheduling seems to be one of those eternally unfinished jobs. Developers can work on the CPU scheduler for a while and make it work better, but there will always be workloads which are not served原创 2009-12-22 17:18:00 · 961 阅读 · 0 评论 -
Linux Scheduler Doc
New things to learn about Linux Scheduler): 1. Rotating Staircase Deadline cpu scheduler policy2. CFS (Completely Fair Scheduler)3. BFS (Brain Fuck Scheduler) http://lwn.net/Articles原创 2009-12-21 16:29:00 · 712 阅读 · 0 评论 -
学习笔记【2009-12-25】
1. Inside the Linux scheduler:http://www.ibm.com/developerworks/linux/library/l-scheduler/?S_TACT=105AGX52&S_CMP=cn-a-l2. Multiprocessing with the Completely Fair Schedulerhttp://www.ibm.com原创 2009-12-25 00:42:00 · 578 阅读 · 0 评论 -
RCU三部曲
1. What is RCU, Fundamentally?http://lwn.net/Articles/262464/ 2. What is RCU? Part 2: Usagehttp://lwn.net/Articles/263130/ 3. RCU part 3: the RCU APIhttp://lwn.net/Articles/原创 2009-12-25 13:29:00 · 1045 阅读 · 0 评论 -
Thread Pool and Asynch I/O
1. Boost application performance using asynchronous I/ORef: http://www.ibm.com/developerworks/linux/library/l-async/ 2. Asynchronous I/O on linuxRef: http://davmac.org/davpage/linux/as原创 2009-12-26 00:55:00 · 4810 阅读 · 0 评论 -
The netstat Command
1.Displaying the Routing Table# netstat -nrKernel IP routing tableDestination Gateway Genmask Flags MSS Window irtt Iface127.0.0.1 * 255.255.255.255 U原创 2010-01-05 22:14:00 · 693 阅读 · 0 评论 -
The Secret To 10 Million Concurrent Connections -The Kernel Is The Problem, Not The Solution
Now that we have the C10K concurrent connection problem licked, how do we level up and support 10 million concurrent connections? Impossible you say. Nope, systems right now are delivering 10 millio转载 2013-06-29 20:53:18 · 1213 阅读 · 0 评论