-
内核中的变量命令问题在看内核代码的时候经常遇到NR_****之类的名字,或者nr_****等。以这个开头的标识符是啥意思啊?比如:NR_FREE_PAGES,NR_INACTIVE,NR_ACTIVE,NR_ANON_PAGES,/*Mappedanonymouspages*/........nr_free_pagecache_pages();//函数名pageblock_nr_panew_new_one 时间:05-02 + 阅读全文
-
kernle里怎样清除对一个文件在内存中的cache?由于在一个driver里改动了fat的分区表来使一个文件中的数据换位置,但是如果该文件访问过,其在内存中cache了一部分,所以只有重启才有效。那么怎么能清楚对一个文件在内存中的cache?谢谢guhuo 时间:04-29 + 阅读全文
-
[讨论]关于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_structwhonest581 时间: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)/builddefauqiaokelii 时间:06-03 + 阅读全文
-
Linux常用的调试手段printk的应用场合以及关于local_irq_save的疑问1printk的使用场合在驱动中可以调用吗,会不会出问题?printk是可重入的吗?这个函数是阻塞的吗?它的输出时在文件里面的,那不会很慢吗?还是说有后台进程负责写入,它写入的是缓存2local_irq_save和local_irq_disable什么时候需要保存当前环境,中断打断会自动恢复环境吧.进程打断也是.那为什么还需要save?为了回到自己之前的环境?local_irlfsfresher 时间:06-03 + 阅读全文