
Linux
majieyue
这个作者很懒,什么都没留下…
展开
-
Linux下利用条件变量实现读写锁
首先介绍下pthread_cond_t。 在Linux下称之为状态变量,与之相关的有下面几个API: int pthread_cond_init (pthread_cond_t *COND,pthread_condattr_t *cond_ATTR); int pthread_cond_signal (pthread_cond_t *COND); int pthread原创 2010-04-25 19:56:00 · 1728 阅读 · 1 评论 -
per_cpu变量用法
per_cpu的原理就是一个变量在所有CPU cache上都存一份原创 2014-06-18 17:26:28 · 10279 阅读 · 0 评论 -
xen网络前后端交互
RX的报文接收,首先由netfront发起原创 2014-04-25 15:35:12 · 4184 阅读 · 0 评论 -
linux通过tc控制网络QoS(2)
先来看下traffic control在内核里是如何实现的,首先内核在发送数据时,最终会调用到dev_queue_xmit, struct Qdisc *q if (q->enqueue) { rc = __dev_xmit_skb(skb, q, dev, txq); goto out; } 如果q->enqueue函原创 2013-01-01 15:22:07 · 6985 阅读 · 1 评论 -
top显示的内存各项参数解析
top观察进程数据时,会有如下几个内存参数(可以用f选择显示哪些参数):VIRT, RES, SHR, SWAP, CODE, DATAtop实际上是从/proc//statm文件中读取这些信息,/proc//smaps文件是进程虚拟内存映射的详细数据,我们知道内核的struct page结构有引用计数,如果>1,表示是shared page,否则是private page原创 2012-12-17 14:13:23 · 6142 阅读 · 0 评论 -
screen bible
每次用screen总会忘记一些用法,然后去网上查,后来干脆就不用了。。不过现在发现screen真的很好用,现在把网上有用的关于screen的东西整理如下screen -S xxxx:新建一个screenscreen -ls:查看当前运行的screenscreen -d -r xxxx:重新attach到某个screen(如有必要可以先detach)screen -r xxxx:at原创 2012-03-19 18:22:05 · 947 阅读 · 0 评论 -
linux的qos机制 - cgroup篇 (2)
这篇重点讲述cgroup如何控制blkio子系统的qos,首先看下设置blkio.weight blkio.weight_device 我的理解是blkio.weight是整个io子系统的权重值,而blkio.weight_device是针对特定的 major:minor 设备的权重blkio.throttle.read_bps_device blkio.throttle.write_bp原创 2012-02-16 20:28:52 · 3422 阅读 · 1 评论 -
linux的qos机制 - cgroup篇 (1)
cgroups全称control groups,在RHEL6的2.6.32内核中已经包括了cgroup的patch。这里强烈建议安装RHEL6(CentOS6)来使用cgroups,如果没有的话,只能升级内核了 ( > 2.6.26版本) 下面的例子通过对cgroups的blkio, cpuset, memory三个子系统的实现来演示如何应用cgroups,我们这里不使用红帽子的libcgro原创 2012-02-16 01:21:00 · 6521 阅读 · 0 评论 -
Linux的RCU锁机制
看了一堆RCU的文档,总结一下,这玩意儿实际编程用得不多,权当自娱自乐https://www.ibm.com/developerworks/cn/linux/l-rcu/LDD3rd中 linux同步机制 章节有对RCU比较透彻的介绍htt转载 2011-08-27 23:21:56 · 4446 阅读 · 0 评论 -
TCP的Linux内核参数
<br />1. /proc/sys/net/core/rmem_max — 最大的TCP数据接收缓冲<br />2. /proc/sys/net/core/wmem_max — 最大的TCP数据发送缓冲<br />3. /proc/sys/net/ipv4/tcp_timestamps — 时间戳在(请参考RFC 1323)TCP的包头增加12个字节<br />4. /proc/sys/net/ipv4/tcp_sack — 有选择的应答<br />5. /proc/sys/net/ipv4/tcp_wi转载 2011-04-09 16:20:00 · 1559 阅读 · 0 评论 -
Linux下利用条件变量实现信号量机制
<br />接着上一篇,继续讨论如何利用pthread_cond_t来实现sem_t。目前的Linux内核都支持信号量sem_t,但也有一些老的OS,如AIX4,和早期的Solaris并不支持信号量,毕竟semaphore这个东东并没有包括在POSIX标准里。这种情况下有必要利用pthread_mutex_t + pthread_cond_t来模拟semaphore啦。(什么?pthread_mutex_t pthread_cond_t也不支持? !@#¥%!)<br /> <br />其实实现起来真的很简原创 2010-06-24 19:51:00 · 1668 阅读 · 0 评论 -
linux通过tc控制网络QoS(1)
tc是linux traffic control的简称,原理是在协议栈出包的时候,通过qdisc (Queue Discipline)和 filter 机制把不同规则定义的流放到不同class的子qdisc中(对于classful qdisc是这样,对于classless qdisc只有一个root qdisc)。网上关于tc的资料很多,本篇不去讨论tc的各种qdisc, class, filte原创 2012-06-07 18:32:58 · 10100 阅读 · 0 评论