Chinaunix首页 | 论坛 | 博客
  • 博客访问: 439300
  • 博文数量: 123
  • 博客积分: 2686
  • 博客等级: 少校
  • 技术积分: 1349
  • 用 户 组: 普通用户
  • 注册时间: 2009-12-23 22:11
文章分类
文章存档

2012年(3)

2011年(10)

2010年(100)

2009年(10)

我的朋友

分类: LINUX

2010-10-15 14:54:48

 The routine setup_per_cpu_area() exits for the setup of a multiple processing environment .If the linux is configured without SMP support, it do nothing.

void __init setup_per_cpu_areas(void)
{
    unsigned long delta;
    unsigned int cpu;
    int rc;

    /*
     * Always reserve area for module percpu variables. That's
     * what the legacy allocator did.
     */

    rc = pcpu_embed_first_chunk(PERCPU_MODULE_RESERVE,
                 PERCPU_DYNAMIC_RESERVE, PAGE_SIZE, NULL,
                 pcpu_dfl_fc_alloc, pcpu_dfl_fc_free);
    if (rc < 0)
        panic("Failed to initialized percpu areas.");

    delta = (unsigned long)pcpu_base_addr - (unsigned long)__per_cpu_start;
    for_each_possible_cpu(cpu)
        __per_cpu_offset[cpu] = delta + pcpu_unit_offsets[cpu];
}


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

chinaunix网友2010-10-15 16:54:37

很好的, 收藏了 推荐一个博客,提供很多免费软件编程电子书下载: http://free-ebooks.appspot.com