本文原创为freas_1990,转载请标明出处:http://blog.csdn.net/freas_1990/article/details/11619609

我的朋友里,至少有2.5个神童。

有的书上说,一个人的能力取决于他的朋友圈子的能力。所以,我是幸运的,因为我的很多朋友都比我更优秀。

雅丽是公认的神童。北漂族、帅气、博学、擅长多国语言,同时,公认的Oracle大神。他自认是个文科生,跟计算机毫无关系,不过大量的兄弟伙在他们的Oracle数据库快死的时候会向雅丽求救,同时,获得起死回生的灵药。

童鞋们感兴趣可以去他的院子逛逛:http://www.dbaleet.org/

在我的朋友里,老周是另外一个神童。或许,只有老周能在英语上与雅丽一较高下——老周的爷爷二战时,是美国大兵的翻译官。

他和雅丽有很多共同之处。比如说,语言上的天赋、年龄。

虽然他们都是神童,但并不是说,他们的年龄很小,相反,他们的年龄都比我大。只不过,他们的年纪相比于他们的能力,实在太小了。

今天聊了一个关于mlock的话题。

mlock的代码在Linux内核里只经历过2个作者的维护。

原作者是Linus Torvalds,起源于1995年。

修改者是Christoph Hellwig,修改于2002年。

之后一直没有变动。

自RedHat Linux 6之后,RedHat Linux内核给Lru list加了一个patch——Split Lru

详细介绍如下:

Starting from the premise that not all data is equal, a Red Hat engineer implemented a set ofpatches that handle different types of pages differently and finds pages that can be evicted withminimal scanning. These patches were, of course, pushed upstream and accepted into the Linuxkernel before being included in Red Hat Enterprise Linux 6. The result is the Split LRU VM (Splitleast recently used virtual memory manager).The Split LRU VM uses several lists of memory pages instead of a single, monolithic memorymanager. These include separate page lists for filesystem backed data (the master data exists ina file in the storage subsystem and can be read again whenever needed), swap backed data (theVM can page out memory to disk and read it back in when needed), and non-reclaimable pages(pages that can not be discarded by the VM).

那mlock是否会被split lru影响呢?

split lru把原本单一的lru list划分成了多个队列表。

其中,包括filesystem backed data zone,swap backed data zone,non-reclaimable pages zone。

关键点就在这里,Linux内核怎么知道一个page应该挂接在哪一个zone里呢?

翻一下mlock.c这个文件吧。

生命是多么美好:)

Linux内核源代码解析之——我与神童聊Linux内核的更多相关文章

  1. Linux内核源代码解析——TCP状态转移图以及其实现

    本文原创为freas_1990,转载请标明出处http://blog.csdn.net/freas_1990/article/details/10223581 TCP状态转移的原理并不高深,但是处理逻 ...

  2. Linux内核源代码解析之——sock's buffer参数

    本文原创为freas_1990,转载请标明出处:http://blog.csdn.net/freas_1990/article/details/11539695 关于socket与sock的关系再简单 ...

  3. Linux内核源代码解析——用户发送数据包的起源之sendto

    本文原创为freas_1990,转载请标明出处:http://blog.csdn.net/freas_1990/article/details/10162853 Jack:我想知道用户如何把数据发送到 ...

  4. Linux内核源代码解析之TCP面向字节流

    本文原创为freas_1990,转载请标明出处:http://blog.csdn.net/freas_1990/article/details/11264237 大家都知道TCP是面向stream,而 ...

  5. Ubuntu:编译Linux内核源代码和内核模块

    1. 目的 内核模块需要运行在Linux 3.8.13内核中,因此需要为此内核重新编译内核模块源代码. 2. 步骤 1.在Ubuntu 14.04 64位(内核3.13.0-24-generic)上, ...

  6. Linux内核源代码情景分析系列

    http://blog.sina.com.cn/s/blog_6b94d5680101vfqv.html Linux内核源代码情景分析---第五章 文件系统  5.1 概述 构成一个操作系统最重要的就 ...

  7. linux device tree源代码解析--转

    //Based on Linux v3.14 source code Linux设备树机制(Device Tree) 一.描述 ARM Device Tree起源于OpenFirmware (OF), ...

  8. Linux内核源代码获取教程

    Linux内核源代码获取方法 什么叫Linux 什么叫Linux内核 Linux内核源代码的获取 什么叫Linux? Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UN ...

  9. 如何切入 Linux 内核源代码

    Makefile不是Make Love 从前在学校,混了四年,没有学到任何东西,每天就是逃课,上网,玩游戏,睡觉.毕业的时候,人家跟我说Makefile我完全不知,但是一说Make Love我就来劲了 ...

随机推荐

  1. 基于Visual C++2013拆解世界五百强面试题--题16-进制分析

    清写出下列代码的输出内容 #include <stdio.h> int main() { int a = -1, b = -12, c = -123, d = -1234; printf( ...

  2. 第一讲 一个简单的Qt程序分析

    本文概要:通过一个简单的Qt程序来介绍Qt程序编写的基本框架与一些Qt程序中常见的概念 #include <QApplication> #include <QPushButton&g ...

  3. NS2 nam中节点及数据流颜色设置

    NS2 节点颜色设置在http://hi.baidu.com/jrwen0/item/d105c642f4c3ce36fb89601b说明的比較具体,大家能够參见. 我这里想说的是数据流颜色的设置,相 ...

  4. 在TextBox里面仅仅允许数字,按Enter键进入下一个TextBox

    <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title></title> ...

  5. C++对C语言的非面向对象特性扩充(3)

    今天要讲的是C++作用域运算符"::",强制类型转换的扩充,C++中相对于C中malloc和free函数的运算符new和delete,以及C++对C的一个重要扩充:引用(refer ...

  6. ubuntu下vpn无反应的解决办法

    mv ~/.gconf  ~/.gcongbk0 sudo reboot

  7. html一些东东

    在IE浏览器中,当input获得焦点时,点击有unselectable="on"属性的标签时,不会触发onblur事件 在 IE11 下,浏览器自作多情在 text input 组 ...

  8. Java学习之国际化程序

    国际化程序就是把程序的语言根据用户使用的语言显示,各个国家的用户都可以看懂 实现方法就是把输出文字都写在配置文件里,然后根据用户系统语言选择不同的语言输出 package com.gh; import ...

  9. lines(最大区间和)

    lines Time Limit: 5000/2500 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submi ...

  10. NYoj-街区最短路径问题

    街区最短路径问题 时间限制:3000 ms  |  内存限制:65535 KB 难度:4 描写叙述 一个街区有非常多住户,街区的街道仅仅能为东西.南北两种方向. 住户仅仅能够沿着街道行走. 各个街道之 ...