mirror of
				https://github.com/ARM-software/workload-automation.git
				synced 2025-10-31 15:12:25 +00:00 
			
		
		
		
	| @@ -106,7 +106,7 @@ class BaseLinuxDevice(Device):  # pylint: disable=abstract-method | |||||||
|  |  | ||||||
|     runtime_parameters = [ |     runtime_parameters = [ | ||||||
|         RuntimeParameter('sysfile_values', 'get_sysfile_values', 'set_sysfile_values', value_name='params'), |         RuntimeParameter('sysfile_values', 'get_sysfile_values', 'set_sysfile_values', value_name='params'), | ||||||
|         CoreParameter('${core}_cores', 'get_number_of_online_cpus', 'set_number_of_online_cpus', |         CoreParameter('${core}_cores', 'get_number_of_online_cores', 'set_number_of_online_cores', | ||||||
|                       value_name='number'), |                       value_name='number'), | ||||||
|         CoreParameter('${core}_min_frequency', 'get_core_min_frequency', 'set_core_min_frequency', |         CoreParameter('${core}_min_frequency', 'get_core_min_frequency', 'set_core_min_frequency', | ||||||
|                       value_name='freq'), |                       value_name='freq'), | ||||||
| @@ -477,20 +477,6 @@ class BaseLinuxDevice(Device):  # pylint: disable=abstract-method | |||||||
|         else: |         else: | ||||||
|             raise ValueError(c) |             raise ValueError(c) | ||||||
|  |  | ||||||
|     def get_number_of_online_cpus(self, core): |  | ||||||
|         return len(self.get_online_cpus(core)) |  | ||||||
|  |  | ||||||
|     def set_number_of_online_cpus(self, core, number): |  | ||||||
|         core_ids = [i for i, c in enumerate(self.core_names) if c == core] |  | ||||||
|         max_cores = len(core_ids) |  | ||||||
|         if number > max_cores: |  | ||||||
|             message = 'Attempting to set the number of active {} to {}; maximum is {}' |  | ||||||
|             raise ValueError(message.format(core, number, max_cores)) |  | ||||||
|         for i in xrange(0, number): |  | ||||||
|             self.enable_cpu(core_ids[i]) |  | ||||||
|         for i in xrange(number, max_cores): |  | ||||||
|             self.disable_cpu(core_ids[i]) |  | ||||||
|  |  | ||||||
|     # hotplug |     # hotplug | ||||||
|  |  | ||||||
|     def enable_cpu(self, cpu): |     def enable_cpu(self, cpu): | ||||||
| @@ -529,7 +515,7 @@ class BaseLinuxDevice(Device):  # pylint: disable=abstract-method | |||||||
|         sysfile = '/sys/devices/system/cpu/{}/online'.format(cpu) |         sysfile = '/sys/devices/system/cpu/{}/online'.format(cpu) | ||||||
|         self.set_sysfile_value(sysfile, status) |         self.set_sysfile_value(sysfile, status) | ||||||
|  |  | ||||||
|     def get_number_of_active_cores(self, core): |     def get_number_of_online_cores(self, core): | ||||||
|         if core not in self.core_names: |         if core not in self.core_names: | ||||||
|             raise ValueError('Unexpected core: {}; must be in {}'.format(core, list(set(self.core_names)))) |             raise ValueError('Unexpected core: {}; must be in {}'.format(core, list(set(self.core_names)))) | ||||||
|         active_cpus = self.active_cpus |         active_cpus = self.active_cpus | ||||||
| @@ -539,7 +525,7 @@ class BaseLinuxDevice(Device):  # pylint: disable=abstract-method | |||||||
|                 num_active_cores += 1 |                 num_active_cores += 1 | ||||||
|         return num_active_cores |         return num_active_cores | ||||||
|  |  | ||||||
|     def set_number_of_active_cores(self, core, number):  # NOQA |     def set_number_of_online_cores(self, core, number):  # NOQA | ||||||
|         if core not in self.core_names: |         if core not in self.core_names: | ||||||
|             raise ValueError('Unexpected core: {}; must be in {}'.format(core, list(set(self.core_names)))) |             raise ValueError('Unexpected core: {}; must be in {}'.format(core, list(set(self.core_names)))) | ||||||
|         core_ids = [i for i, c in enumerate(self.core_names) if c == core] |         core_ids = [i for i, c in enumerate(self.core_names) if c == core] | ||||||
| @@ -552,8 +538,7 @@ class BaseLinuxDevice(Device):  # pylint: disable=abstract-method | |||||||
|             # make sure at least one other core is enabled to avoid trying to |             # make sure at least one other core is enabled to avoid trying to | ||||||
|             # hotplug everything. |             # hotplug everything. | ||||||
|             for i, c in enumerate(self.core_names): |             for i, c in enumerate(self.core_names): | ||||||
|                 if c != core: |                 if c != core and i in self.online_cpus: | ||||||
|                     self.enable_cpu(i) |  | ||||||
|                     break |                     break | ||||||
|             else:  # did not find one |             else:  # did not find one | ||||||
|                 raise ValueError('Cannot hotplug all cpus on the device!') |                 raise ValueError('Cannot hotplug all cpus on the device!') | ||||||
|   | |||||||
| @@ -650,7 +650,7 @@ class EnergyModelInstrument(Instrument): | |||||||
|     def enable_all_cores(self): |     def enable_all_cores(self): | ||||||
|         counter = Counter(self.device.core_names) |         counter = Counter(self.device.core_names) | ||||||
|         for core, number in counter.iteritems(): |         for core, number in counter.iteritems(): | ||||||
|             self.device.set_number_of_online_cpus(core, number) |             self.device.set_number_of_online_cores(core, number) | ||||||
|         self.big_cpus = self.device.get_online_cpus(self.big_core) |         self.big_cpus = self.device.get_online_cpus(self.big_core) | ||||||
|         self.little_cpus = self.device.get_online_cpus(self.little_core) |         self.little_cpus = self.device.get_online_cpus(self.little_core) | ||||||
|  |  | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user