def __make_options(self, params): '''Return generic Litmus options.''' # Guess defaults using the properties of this computer if 'cpus' in params: cpus = min(map(int, params['cpus'])) else: cpus = num_cpus() if 'clusters' in params: clusters = min(map(int, params['clusters'])) else: # default to partitioned clusters = num_cpus() try: rm_config = get_config_option("RELEASE_MASTER") and True except: rm_config = False release_master = list(set([False, bool(rm_config)])) return [GenOption('tasks', int, range(cpus, 5*cpus, cpus), 'Number of tasks per experiment.'), GenOption('cpus', int, [cpus], 'Number of processors on target system.'), GenOption('clusters', int, [clusters], 'Number of clusters on target system.'), GenOption('release_master', [True,False], release_master, 'Redirect release interrupts to a single CPU.'), GenOption('duration', float, [30], 'Experiment duration.')]
def __init__(self, output_dir): super(SchedTracer, self).__init__("Sched Trace", output_dir) if SchedTracer.enabled(): for cpu in range(num_cpus()): # Executable will close the stdout/stderr files stdout_f = open('%s/st-%d.bin' % (self.output_dir, cpu), 'w') stderr_f = open('%s/st-%d-stderr.txt' % (self.output_dir, cpu), 'w') dev = '{0}{1}'.format(SchedTracer.DEVICE_STR, cpu) ftc = FTcat(conf.BINS['ftcat'], stdout_f, stderr_f, dev, conf.SCHED_EVENTS, cpu=cpu) self.bins.append(ftc)
def __init__(self, name, scheduler, working_dir, finished_dir, proc_entries, executables, tracer_types): '''Run an experiment, optionally wrapped in tracing.''' self.name = name self.scheduler = scheduler self.working_dir = working_dir self.finished_dir = finished_dir self.proc_entries = proc_entries self.executables = executables self.exec_out = None self.exec_err = None self.task_batch = com.num_cpus() self.__make_dirs() self.__assign_executable_cwds() self.__setup_tracers(tracer_types)
def __make_options(self, params): '''Return generic Litmus options.''' # Guess defaults using the properties of this computer if 'cpus' in params: cpus = min(map(int, params['cpus'])) else: cpus = num_cpus() try: rm_config = get_config_option("RELEASE_MASTER") and True except: rm_config = False release_master = list(set([False, bool(rm_config)])) return [ GenOption('tasks', int, range(cpus, 5 * cpus, cpus), 'Number of tasks per experiment.'), GenOption('cpus', int, [cpus], 'Number of processors on target system.'), GenOption('release_master', [True, False], release_master, 'Redirect release interrupts to a single CPU.'), GenOption('duration', float, [30], 'Experiment duration.') ]