Chinaunix首页 | 论坛 | 博客
  • 博客访问: 36604
  • 博文数量: 6
  • 博客积分: 391
  • 博客等级: 一等列兵
  • 技术积分: 127
  • 用 户 组: 普通用户
  • 注册时间: 2012-12-07 15:29
文章分类
文章存档

2013年(5)

2012年(1)

我的朋友

发布时间:2013-01-11 23:07:34

一、sys_epoll_ctl()函数 源码和注释如下:/* * @epfd: epool_create创建的用于eventpoll的fd * @op: 控制的命令类型 * @fd: 要操作的文件描述符 * @event:与fd相关的对象. */SYSCALL_DEFINE4(epoll_ctl, int, epfd, int, op, int, fd,        struct epoll_event __user *, event){ &n......【阅读全文】

阅读(2724) | 评论(0) | 转发(1)

发布时间:2013-01-10 21:25:44

  eventpoll的优点就不用说了,网上的资料很多,eventpoll的使用也很广泛,特别是在Web服务器中。因为最近要用到epoll,所以好好地看了一下它的实现,把学到的一些东西做下整理,做个记录。一、sys_epoll_create()  其源码如下:SYSCALL_DEFINE1(epoll_create, int, size){    if (size <= 0)        return -EINVAL;  &nb......【阅读全文】

阅读(5086) | 评论(0) | 转发(0)

发布时间:2013-01-07 18:25:51

代码如下:#include <stdio.h>struct list {    struct t *next;    int i;};int main(void){    struct list l;    printf("len = %lu.\n", sizeof(l));    return 0;}上面的list类型中next成员的类型是struct t,但是struct t是未定......【阅读全文】

阅读(529) | 评论(0) | 转发(0)

发布时间:2013-01-07 16:21:00

  开发内核模块时,个人认为kdump+crash是必备的工具,kdump用于在内核崩溃时生成转储文件(core文件),crash用来分析core文件,查看崩溃时的栈信息、调用信息、出错的执行路径等。  如果出错的位置是在内核函数中(当然大部分是由于模块不正确地调用内核函数),则很容易看到内核的代码位置。假设出错的函数是blk_requeue_request,出错的位置在blk_requeue_request函数中的偏移为82,在crash中输入“gdb L*blk_requeue_request+82”即可查看出错位置对应的源代码,如下图所示:当然也可以通过“dis -l......【阅读全文】

阅读(4121) | 评论(0) | 转发(1)

发布时间:2013-01-04 16:09:20

  先介绍一下创建线程的大致流程:在模块的初始化函数中,调用netlink_kernel_create来注册自己的netlink协议,然后返回,接收netlink消息的函数为fcluster_netlink_recv,真正的初始化操作是在接收到netlink报文后才做,创建线程的操作也是在fcluster_netlink_recv中,如下图所示:调用kernel_thread的语句为:kernel_thread(fcluster_rcv_handoff, NULL, 0);按照这样的处理流程,在卸载模块时会提示 "module is in use".通过lsmod命令查看自......【阅读全文】

阅读(2096) | 评论(0) | 转发(1)
给主人留下些什么吧!~~

CU博客助理2013-01-14 08:46

justlinux2010: 我写的一篇博客提交后说审核,但是很快又说被删除了,但是文件数量显示的加1了,但是博文找不到了,求帮助.....
已帮您恢复。

回复  |  举报
留言热议
请登录后留言。

登录 注册