内核中的变量命令问题

在看内核代码的时候经常遇到NR_****之类的名字,或者nr_****等。以这个开头的标识符是啥意思啊?比如:NR_FREE_PAGES,NR_INACTIVE,NR_ACTIVE,NR_ANON_PAGES,/*Mappedanonymouspages*/........nr_free_pagecache_pages();//函数名pageblock_nr_pa

作者: new_new_one 发布时间: 05-02

kernle里怎样清除对一个文件在内存中的cache?

由于在一个driver里改动了fat的分区表来使一个文件中的数据换位置,但是如果该文件访问过,其在内存中cache了一部分,所以只有重启才有效。那么怎么能清楚对一个文件在内存中的cache?谢谢

作者: guhuo 发布时间: 04-29

ip.h

我在内核2.6.31的ip.h中看到#defineIP_INC_STATS_BH(net,field)\SNMP_INC_STATS_BH((net)->mib.ip_statistics,field)#defineSNMP_INC_STATS_BH(mib,field)\(per_cpu_ptr(mib[0],raw_smp_processor_id())->

作者: lizhi_scu 发布时间: 05-12

[讨论]关于rbtree.h里的struct rb_node.rb_parent_color 的长度

很明显为了充分利用空间,把parent和color两个“信息”都放在这个字段里了。这里有个问题,就是他是用unsignedlong类型定义的。经我测,在32位linux里,sizeof(unsignedlong)==sizeof(structrb_node*)==4在64位机器上,sizeof(unsignedlong)==sizeof(structrb_node*

作者: tomgrean 发布时间: 05-15

PF_RING:dev_add_pcak error

小弟现在需要用pf_ring来提高linux抓包性能(用于ARM开发板上,Linux2.6.23.1),千辛万苦把pf_ring.ko(一内核模块)编译出来之后,一insmod,就导致板子重启,后来我一个个函数排查,发现是dev_add_pack()出问题了,因为当我把它注释掉之后加载卸载都没问题,当然,这个一注释掉需要的功能就没有了。下面我贴一下调用dev_add_pack()的代码和其本身的

作者: yu_single 发布时间: 05-19

进程切换时如何保存内存里的内容

寄存器的我知道,但是比如该进程在堆上分配了空间,这里面的内容在切换时是如何保存的?谢谢

作者: douch 发布时间: 05-26

高手请看:关于工作队列workqueue使用方法代码是不是有问题,多谢

下面是网上摘抄的一段代码,我看了一下似乎有点问题,见下:#include<linux/module.h>#include<linux/init.h>#include<linux/workqueue.h>staticstructworkqueue_struct*queue=NULL;staticstructwork_structw

作者: honest581 发布时间: 05-25

gcc -S有什么特别的作用吗?

可以把c文件编译为汇编文件,除了这个用处外,gcc-S还有什么作用呢?你们平时都用gcc-S做什么用的?

作者: think365 发布时间: 02-24

模块编译的makefile问题

有两个源文件,一个是x.c,一个是y.cx.c是内核级的,引用的头文件是linux-headers里面的.y.c是用户级的,引用的头文件是/usr/include里面的.obj-m:=hello.ohello-objs:=x.oy.oPWD:=$(shellpwd)KERNELDIR:=/lib/modules/$(shelluname-r)/builddefau

作者: qiaokelii 发布时间: 06-03

Linux常用的调试手段printk的应用场合以及关于local_irq_save的疑问

1printk的使用场合在驱动中可以调用吗,会不会出问题?printk是可重入的吗?这个函数是阻塞的吗?它的输出时在文件里面的,那不会很慢吗?还是说有后台进程负责写入,它写入的是缓存2local_irq_save和local_irq_disable什么时候需要保存当前环境,中断打断会自动恢复环境吧.进程打断也是.那为什么还需要save?为了回到自己之前的环境?local_ir

作者: lfsfresher 发布时间: 06-03