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 if
s 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