def test_online_cpu_iteration(self): count = 0 for cpu in cpus.for_each_online_cpu(): self.assertTrue(type(cpu) is int) count += 1 self.assertTrue(count > 0)
def check_free_pages(self) -> None: for order in range(array_size(self.gdb_obj["free_area"])): area = self.gdb_obj["free_area"][order] self._check_free_area(area, False, order) for cpu in for_each_online_cpu(): pageset = get_percpu_var(self.gdb_obj["pageset"], cpu) self._check_free_area(pageset["pcp"], True, cpu)
def __fill_percpu_caches(self) -> None: cpu_cache = self.gdb_obj[KmemCache.percpu_name] for cpu in for_each_online_cpu(): if KmemCache.percpu_cache: array = get_percpu_var(cpu_cache, cpu) else: array = cpu_cache[cpu].dereference() self.__fill_array_cache(array, AC_PERCPU, -1, cpu)
def get_events(cls) -> List[int]: nr = cls.nr_event_items events = [0] * nr for cpu in for_each_online_cpu(): states = get_percpu_var(cls.symbols.vm_event_states, cpu) for item in range(0, nr): events[item] += int(states["event"][item]) return events
def check_free_pages(self) -> None: for area in array_for_each(self.gdb_obj["free_area"]): self._check_free_area(area, False) for cpu in for_each_online_cpu(): pageset = get_percpu_var(self.gdb_obj["pageset"], cpu) self._check_free_area(pageset["pcp"], True)
def add_vmstat_diffs(self, diffs: List[int]) -> None: for cpu in for_each_online_cpu(): pageset = get_percpu_var(self.gdb_obj["pageset"], cpu) vmdiff = pageset["vm_stat_diff"] for item in range(0, VmStat.nr_stat_items): diffs[item] += int(vmdiff[item])