- sd->ahu->completion_ring = sd->ring;
- sd->ahu->ring_size_bytes = ring_size;
- sd->ahu->max_nr_threads = -1;
-
- if (async_register(sd->ahu, sizeof(*sd->ahu)) < 0) {
- perror("async_register");
- fprintf(stderr, "fio: syslet likely not supported\n");
- free(sd->ring);
- free(sd->ahu);
- return 1;
- }
+ sd->ahu.user_ring_idx = 0;
+ sd->ahu.completion_ring = sd->ring;
+ sd->ahu.ring_size_bytes = ring_size;
+ sd->ahu.head_stack = thread_stack_alloc();
+ sd->ahu.head_eip = (unsigned long)cachemiss_thread_start;
+ sd->ahu.new_thread_eip = (unsigned long)cachemiss_thread_start;