mcexec: --enable-hfi1 to runtime enable/disable HFI1 driver
Conflicts: executer/user/mcexec.c
This commit is contained in:
@ -110,6 +110,8 @@ typedef unsigned long __cpu_set_unit;
|
||||
#define MPOL_NO_BSS 0x04
|
||||
#define MPOL_SHM_PREMAP 0x08
|
||||
|
||||
#define MCEXEC_HFI1 0x01
|
||||
|
||||
struct program_load_desc {
|
||||
int num_sections;
|
||||
int status;
|
||||
@ -138,6 +140,7 @@ struct program_load_desc {
|
||||
unsigned long envs_len;
|
||||
struct rlimit rlimit[MCK_RLIM_MAX];
|
||||
unsigned long interp_align;
|
||||
unsigned long mcexec_flags;
|
||||
unsigned long mpol_flags;
|
||||
unsigned long mpol_threshold;
|
||||
unsigned long heap_extension;
|
||||
|
||||
@ -221,6 +221,7 @@ static int mpol_no_stack = 0;
|
||||
static int mpol_no_bss = 0;
|
||||
static int mpol_shm_premap = 0;
|
||||
static int no_bind_ikc_map = 0;
|
||||
static int hfi1_enabled = 0;
|
||||
static unsigned long mpol_threshold = 0;
|
||||
static unsigned long heap_extension = (4*1024);
|
||||
static int profile = 0;
|
||||
@ -1753,6 +1754,12 @@ static struct option mcexec_options[] = {
|
||||
.flag = &disable_sched_yield,
|
||||
.val = 1,
|
||||
},
|
||||
{
|
||||
.name = "enable-hfi1",
|
||||
.has_arg = no_argument,
|
||||
.flag = &hfi1_enabled,
|
||||
.val = 1,
|
||||
},
|
||||
{
|
||||
.name = "extend-heap-by",
|
||||
.has_arg = required_argument,
|
||||
@ -2535,6 +2542,11 @@ int main(int argc, char **argv)
|
||||
}
|
||||
}
|
||||
|
||||
desc->mcexec_flags = 0;
|
||||
if (hfi1_enabled) {
|
||||
desc->mcexec_flags |= MCEXEC_HFI1;
|
||||
}
|
||||
|
||||
if (ioctl(fd, MCEXEC_UP_PREPARE_IMAGE, (unsigned long)desc) != 0) {
|
||||
perror("prepare");
|
||||
close(fd);
|
||||
|
||||
Reference in New Issue
Block a user