内核中的变量命令问题
在看内核代码的时候经常遇到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
高手请看:关于工作队列workqueue使用方法代码是不是有问题,多谢
下面是网上摘抄的一段代码,我看了一下似乎有点问题,见下:#include<linux/module.h>#include<linux/init.h>#include<linux/workqueue.h>staticstructworkqueue_struct*queue=NULL;staticstructwork_structw
作者: honest581 发布时间: 05-25
模块编译的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