Lines Matching +full:os +full:- +full:data +full:- +full:offset

1 // SPDX-License-Identifier: GPL-2.0
3 * Data gathering module for Linux-VM Monitor Stream, Stage 1.
4 * Collects misc. OS related data (CPU utilization, running processes).
29 * OS data
31 * This is accessed as binary data by z/VM. If changes to it can't be avoided,
54 u32 sync_count_1; /* after VM collected the record data, */
58 (possibly corrupt) data */
61 u32 per_cpu_size; /* size of the per-cpu data struct */
62 u32 cpu_offset; /* offset of the first per-cpu data struct */
73 /* per cpu data */
80 .name = "os",
90 * gather OS data
92 static void appldata_get_os_data(void *data) in appldata_get_os_data() argument
98 os_data = data; in appldata_get_os_data()
99 os_data->sync_count_1++; in appldata_get_os_data()
101 os_data->nr_threads = nr_threads; in appldata_get_os_data()
102 os_data->nr_running = nr_running(); in appldata_get_os_data()
103 os_data->nr_iowait = nr_iowait(); in appldata_get_os_data()
104 os_data->avenrun[0] = avenrun[0] + (FIXED_1/200); in appldata_get_os_data()
105 os_data->avenrun[1] = avenrun[1] + (FIXED_1/200); in appldata_get_os_data()
106 os_data->avenrun[2] = avenrun[2] + (FIXED_1/200); in appldata_get_os_data()
110 os_data->os_cpu[j].per_cpu_user = in appldata_get_os_data()
112 os_data->os_cpu[j].per_cpu_nice = in appldata_get_os_data()
114 os_data->os_cpu[j].per_cpu_system = in appldata_get_os_data()
116 os_data->os_cpu[j].per_cpu_idle = in appldata_get_os_data()
118 os_data->os_cpu[j].per_cpu_irq = in appldata_get_os_data()
120 os_data->os_cpu[j].per_cpu_softirq = in appldata_get_os_data()
122 os_data->os_cpu[j].per_cpu_iowait = in appldata_get_os_data()
124 os_data->os_cpu[j].per_cpu_steal = in appldata_get_os_data()
126 os_data->os_cpu[j].cpu_id = i; in appldata_get_os_data()
130 os_data->nr_cpus = j; in appldata_get_os_data()
132 new_size = struct_size(os_data, os_cpu, os_data->nr_cpus); in appldata_get_os_data()
137 (unsigned long) ops.data, new_size, in appldata_get_os_data()
140 pr_err("Starting a new OS data collection " in appldata_get_os_data()
145 (unsigned long) ops.data, ops.size, in appldata_get_os_data()
148 pr_err("Stopping a faulty OS data " in appldata_get_os_data()
153 os_data->timestamp = get_tod_clock(); in appldata_get_os_data()
154 os_data->sync_count_2++; in appldata_get_os_data()
161 * init data, register ops
169 pr_err("Maximum OS record size %i exceeds the maximum " in appldata_os_init()
171 rc = -ENOMEM; in appldata_os_init()
177 rc = -ENOMEM; in appldata_os_init()
181 appldata_os_data->per_cpu_size = sizeof(struct appldata_os_per_cpu); in appldata_os_init()
182 appldata_os_data->cpu_offset = offsetof(struct appldata_os_data, in appldata_os_init()
185 ops.data = appldata_os_data; in appldata_os_init()
211 MODULE_DESCRIPTION("Linux-VM Monitor Stream, OS statistics");