#include <sys/types.h>
#include <sys/wait.h>
#include <sys/io.h>

#define N 1100000000

void do_float()
{
	int i, n = N;
	double k = 0;
	for(i = 0; i < n; i++) {
		k++;
	}
}

void do_io()
{
	int i;
	for(i = 0; i < 7000000; i++)
		inb(0x378);
}
		
main()
{
	int status;
	struct timeval a, b;
	gettimeofday(&a, 0);	
	iopl(3);
	if(fork() == 0) {
		run_on_cpu(0);
		do_float();
		printf("do_float over...\n");
	} else {
		run_on_cpu(1);
		do_io();
		printf("do_io over...\n");
		wait(&status);
		printf("coming out of wait...\n");
		gettimeofday(&b, 0);
		printf("%u, %u\n", a.tv_sec, a.tv_usec);	
		printf("%u, %u\n", b.tv_sec, b.tv_usec);	
	}
}
