Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1070047
  • 博文数量: 252
  • 博客积分: 4561
  • 博客等级: 上校
  • 技术积分: 2833
  • 用 户 组: 普通用户
  • 注册时间: 2008-03-15 08:23
文章分类

全部博文(252)

文章存档

2015年(2)

2014年(1)

2013年(1)

2012年(16)

2011年(42)

2010年(67)

2009年(87)

2008年(36)

分类:

2009-11-24 16:45:50

#include <linux/netdevice.h>
#include <linux/etherdevice.h>
#include <linux/module.h>
#include <linux/init.h>
#include <asm/atomic.h>
#include <linux/list.h>
#include <net/inet_hashtables.h>
#include <net/protocol.h>
#include <linux/cpumask.h>

#define err(msg) printk(KERN_ALERT "%s\n", msg)

static int *percpu;

static int main_init(void)
{
        int *p;
        int i;

        percpu = alloc_percpu(int);
        if (!percpu) {
                err("alloc_percpu");
                goto err;
        }

        for_each_possible_cpu(i) {
                p = per_cpu_ptr(percpu, i);
                *p = i;
        }

        for_each_possible_cpu(i) {
                p = per_cpu_ptr(percpu, i);
                printk(KERN_INFO "%d = %d\n", i, *p);
        }


        return 0;
err:
        return -1;
}

static void main_exit(void)
{
        free_percpu(percpu);
}

module_init(main_init);
module_exit(main_exit);

MODULE_LICENSE("GPL");


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