Ejemplo n.º 1
0
int generic_sporadic_task_ns(lt_t e, lt_t p, lt_t phase,
			int cpu, task_class_t cls,
			budget_policy_t budget_policy, int set_cpu_set, int dependent)
{
	struct rt_task param;
	int ret;

	/* Zero out first --- this is helpful when we add plugin-specific
	 * parameters during development.
	 */
	memset(&param, 0, sizeof(param));

	param.exec_cost = e;
	param.period    = p;
	param.subtask_period = p;
	param.cpu       = cpu;
	param.cls       = cls;
	param.phase	= phase;
	param.budget_policy = budget_policy;

	if (set_cpu_set) {
		ret = be_migrate_to(cpu);
		check("migrate to cpu");
	}
	return set_rt_task_param(gettid(), &param);
}
Ejemplo n.º 2
0
int sporadic_task_ns(lt_t e, lt_t p, lt_t phase,
		     int cpu, unsigned int priority,
		     task_class_t cls,
		     budget_policy_t budget_policy, int set_cpu_set)
{
	struct rt_task param;
	int ret;

	/* Zero out first --- this is helpful when we add plugin-specific
	 * parameters during development.
	 */
	memset(&param, 0, sizeof(param));

	param.exec_cost = e;
	param.period    = p;
	param.relative_deadline = p; /* implicit deadline */
	param.cpu       = cpu;
	param.cls       = cls;
	param.phase	= phase;
	param.budget_policy = budget_policy;
	param.priority  = priority;

	if (set_cpu_set) {
		ret = be_migrate_to(cpu);
		check("migrate to cpu");
	}
	return set_rt_task_param(gettid(), &param);
}
Ejemplo n.º 3
0
int main(int argc, char** argv)
{
	int i;
	long sum;
	FILE* sink;

	if (argc != 2 ||
	    (atoi(argv[1]) == 0 && strcmp(argv[1], "0")) ||
	    be_migrate_to(atoi(argv[1]))) {
		fprintf(stderr, "Usage: %s CPU-ID\n", argv[0]);
		exit(1);
	}

	srand(time(NULL) + getpid());

	sink = fopen("/dev/null", "r");

	while (1) {
		for (i = 0; i < NUM_VARS; i++)
			data[i] = rand();
		sum = 0;
		for (i = 0; i < NUM_VARS; i++)
			sum += (i % 2 ? 1 : -1) * data[i];
		for (i = NUM_VARS - 1; i >= 0; i--)
			sum += (i % 2 ? -1 : 1) * 100  /  (data[i] ? data[i] : 1);
		fprintf(sink, "sum: %ld\n", sum);
	}
}