Пример #1
0
/* Called by boot processor to activate the rest. */
static void __init smp_init(void)
{
	unsigned int i;

	/* FIXME: This should be done in userspace --RR */
	for_each_present_cpu(i) {
		if (num_online_cpus() >= max_cpus)
			break;
		if (!cpu_online(i))
			cpu_up(i);
	}

	/* Any cleanup work */
	printk(KERN_INFO "Brought up %ld CPUs\n", (long)num_online_cpus());
	smp_cpus_done(max_cpus);
#if 0
	/* Get other processors into their bootup holding patterns. */

	smp_commence();
#endif

	printk(KERN_DEBUG "sizeof(vma)=%u bytes\n", (unsigned int) sizeof(struct vm_area_struct));
	printk(KERN_DEBUG "sizeof(page)=%u bytes\n", (unsigned int) sizeof(struct page));
	printk(KERN_DEBUG "sizeof(inode)=%u bytes\n", (unsigned int) sizeof(struct inode));
	printk(KERN_DEBUG "sizeof(dentry)=%u bytes\n", (unsigned int) sizeof(struct dentry));
	printk(KERN_DEBUG "sizeof(ext3inode)=%u bytes\n", (unsigned int) sizeof(struct ext3_inode_info));
	printk(KERN_DEBUG "sizeof(buffer_head)=%u bytes\n", (unsigned int) sizeof(struct buffer_head));
	printk(KERN_DEBUG "sizeof(skbuff)=%u bytes\n", (unsigned int) sizeof(struct sk_buff));
}
Пример #2
0
static void __init smp_init(void)
{
   unsigned int i;
   unsigned j = 1;

   /* FIXME: This should be done in userspace --RR */
   for (i = 0; i < NR_CPUS; i++) {
      if (num_online_cpus() >= max_cpus)
         break;
      if (cpu_possible(i) && !cpu_online(i)) {
         cpu_up(i);
         j++;
      }
   }

   /* Any cleanup work */
   printk("Brought up %u CPUs\n", j);
   smp_cpus_done(max_cpus);
#if 0
   /* Get other processors into their bootup holding patterns. */

   smp_threads_ready=1;
   smp_commence();
#endif
}
Пример #3
0
/* Called by boot processor to activate the rest. */
static void __init smp_init(void)
{
	/* Get other processors into their bootup holding patterns. */
	smp_boot_cpus();
	smp_threads_ready=1;
	smp_commence();
}		
Пример #4
0
/* Called by boot processor to activate the rest. */
static void __init smp_init(void)
{
	/* Get other processors into their bootup holding patterns. */
	smp_boot_cpus();
	wait_init_idle = cpu_online_map;
	clear_bit(current->processor, &wait_init_idle); /* Don't wait on me! */

	smp_threads_ready=1;
	smp_commence();

	/* Wait for the other cpus to set up their idle processes */
	printk("Waiting on wait_init_idle (map = 0x%lx)\n", wait_init_idle);
	while (wait_init_idle) {
		cpu_relax();
		barrier();
	}
	printk("All processors have done init_idle\n");
}
Пример #5
0
/* Called by boot processor to activate the rest. */
static void __init smp_init(void)
{
    unsigned int i;

    /* FIXME: This should be done in userspace --RR */
    for_each_present_cpu(i) {
        if (num_online_cpus() >= max_cpus)
            break;
        if (!cpu_online(i))
            cpu_up(i);
    }

    /* Any cleanup work */
    printk(KERN_INFO "Brought up %ld CPUs\n", (long)num_online_cpus());
    smp_cpus_done(max_cpus);
#if 0
    /* Get other processors into their bootup holding patterns. */

    smp_commence();
#endif
}
Пример #6
0
static void smp_begin(void)
{
	smp_threads_ready=1;
	smp_commence();
}