mirror of
https://github.com/torvalds/linux.git
synced 2024-11-24 13:11:40 +00:00
6472a2dcc4
Use the per-cpu CIF_ENABLED_WAIT flag to decide if an interrupt occurred while a cpu was idle, instead of checking two conditions within the old psw. Also move clearing of the CIF_ENABLED_WAIT bit to the early interrupt handler, which in turn makes arch_vcpu_is_preempted() also a bit more precise, since the flag is now cleared before interrupt handlers have been called. Reviewed-by: Sven Schnelle <svens@linux.ibm.com> Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
28 lines
614 B
C
28 lines
614 B
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
/*
|
|
* Copyright IBM Corp. 2014
|
|
*
|
|
* Author: Martin Schwidefsky <schwidefsky@de.ibm.com>
|
|
*/
|
|
|
|
#ifndef _S390_IDLE_H
|
|
#define _S390_IDLE_H
|
|
|
|
#include <linux/types.h>
|
|
#include <linux/device.h>
|
|
|
|
struct s390_idle_data {
|
|
unsigned long idle_count;
|
|
unsigned long idle_time;
|
|
unsigned long clock_idle_enter;
|
|
unsigned long timer_idle_enter;
|
|
unsigned long mt_cycles_enter[8];
|
|
};
|
|
|
|
extern struct device_attribute dev_attr_idle_count;
|
|
extern struct device_attribute dev_attr_idle_time_us;
|
|
|
|
void psw_idle(struct s390_idle_data *data, unsigned long psw_mask);
|
|
|
|
#endif /* _S390_IDLE_H */
|