HPDCS/ROOT-Sim

configure: ECS requires kernel modules

Closed this issue · 3 comments

At the moment the configure script allow you to specify --enable-ecs along with --disable-modules
Of course this configuration will bring to an execution error cause the Event Cross State module requires the relative cross_state_manager kernel module installed.

On the other hand it should be allowed to use a custom kernel modules. My suggestion is to emit a warning at configure time informing the user about the noncoherent configure option selection. Something like:

WARNING: the Event Cross State module have been enable but the required kernel modules won't be compiled/installed, use the --enable-modules to enable them.

It also requires the ULT (User Level Threads) module enabled otherwise we encounter the following compilation error:

mm/ecs.c:139:12: error: ‘kernel_context’ undeclared (first use in this function)
  long_jmp(&kernel_context, kernel_context.rax);

In fact kernel_context is defined inside src/arch/ult.h

To me, it's unlikely that a custom kernel module could be used here. This is a scenario similar to that of hypervisors, where there is little to no different way to implement such a kernel functionality.

At the same time, you're right: if you configure with --disable-modules and --disable-ult, everything gets broken badly.
The solution here should be a couple of additional ifs in configure.ac which disables ECS if proper module dependencies are not met. This is something which has been already done for the NUMA subsystem in configure.ac.

@ael-code, do you have time to write a fast patch for this in configure.ac?

Closed by 83c32bf