diff options
Diffstat (limited to 'drivers/base/cpu.c')
-rw-r--r-- | drivers/base/cpu.c | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/drivers/base/cpu.c b/drivers/base/cpu.c index f160ea44a86d..78720e706176 100644 --- a/drivers/base/cpu.c +++ b/drivers/base/cpu.c | |||
@@ -16,6 +16,7 @@ | |||
16 | #include <linux/acpi.h> | 16 | #include <linux/acpi.h> |
17 | #include <linux/of.h> | 17 | #include <linux/of.h> |
18 | #include <linux/cpufeature.h> | 18 | #include <linux/cpufeature.h> |
19 | #include <linux/tick.h> | ||
19 | 20 | ||
20 | #include "base.h" | 21 | #include "base.h" |
21 | 22 | ||
@@ -265,6 +266,30 @@ static ssize_t print_cpus_offline(struct device *dev, | |||
265 | } | 266 | } |
266 | static DEVICE_ATTR(offline, 0444, print_cpus_offline, NULL); | 267 | static DEVICE_ATTR(offline, 0444, print_cpus_offline, NULL); |
267 | 268 | ||
269 | static ssize_t print_cpus_isolated(struct device *dev, | ||
270 | struct device_attribute *attr, char *buf) | ||
271 | { | ||
272 | int n = 0, len = PAGE_SIZE-2; | ||
273 | |||
274 | n = scnprintf(buf, len, "%*pbl\n", cpumask_pr_args(cpu_isolated_map)); | ||
275 | |||
276 | return n; | ||
277 | } | ||
278 | static DEVICE_ATTR(isolated, 0444, print_cpus_isolated, NULL); | ||
279 | |||
280 | #ifdef CONFIG_NO_HZ_FULL | ||
281 | static ssize_t print_cpus_nohz_full(struct device *dev, | ||
282 | struct device_attribute *attr, char *buf) | ||
283 | { | ||
284 | int n = 0, len = PAGE_SIZE-2; | ||
285 | |||
286 | n = scnprintf(buf, len, "%*pbl\n", cpumask_pr_args(tick_nohz_full_mask)); | ||
287 | |||
288 | return n; | ||
289 | } | ||
290 | static DEVICE_ATTR(nohz_full, 0444, print_cpus_nohz_full, NULL); | ||
291 | #endif | ||
292 | |||
268 | static void cpu_device_release(struct device *dev) | 293 | static void cpu_device_release(struct device *dev) |
269 | { | 294 | { |
270 | /* | 295 | /* |
@@ -431,6 +456,10 @@ static struct attribute *cpu_root_attrs[] = { | |||
431 | &cpu_attrs[2].attr.attr, | 456 | &cpu_attrs[2].attr.attr, |
432 | &dev_attr_kernel_max.attr, | 457 | &dev_attr_kernel_max.attr, |
433 | &dev_attr_offline.attr, | 458 | &dev_attr_offline.attr, |
459 | &dev_attr_isolated.attr, | ||
460 | #ifdef CONFIG_NO_HZ_FULL | ||
461 | &dev_attr_nohz_full.attr, | ||
462 | #endif | ||
434 | #ifdef CONFIG_GENERIC_CPU_AUTOPROBE | 463 | #ifdef CONFIG_GENERIC_CPU_AUTOPROBE |
435 | &dev_attr_modalias.attr, | 464 | &dev_attr_modalias.attr, |
436 | #endif | 465 | #endif |