Message ID | 1437033863-15864-3-git-send-email-shilpa.bhat@linux.vnet.ibm.com (mailing list archive) |
---|---|
State | Accepted, archived |
Delegated to: | Rafael Wysocki |
Headers | show |
Shilpasri G Bhat <shilpa.bhat@linux.vnet.ibm.com> writes: > Add OPAL_MSG_OCC message definition to opal_message_type to receive > OCC events like reset, load and throttled. Host performance can be > affected when OCC is reset or OCC throttles the max Pstate. > We can register to opal_message_notifier to receive OPAL_MSG_OCC type > of message and report it to the userspace so as to keep the user > informed about the reason for a performance drop in workloads. > > The reset and load OCC events are notified to kernel when FSP sends > OCC_RESET and OCC_LOAD commands. Both reset and load messages are > sent to kernel on successful completion of reset and load operation > respectively. How is this done on OpenPower systems? Explanation involving just what OPAL does is likely better, rather than explaining in context of FSP, which Linux has no real knowledge of (OPAL provides all abstraction of it). -- To unsubscribe from this list: send the line "unsubscribe linux-pm" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Hi Stewart, On 08/10/2015 05:53 AM, Stewart Smith wrote: > Shilpasri G Bhat <shilpa.bhat@linux.vnet.ibm.com> writes: >> Add OPAL_MSG_OCC message definition to opal_message_type to receive >> OCC events like reset, load and throttled. Host performance can be >> affected when OCC is reset or OCC throttles the max Pstate. >> We can register to opal_message_notifier to receive OPAL_MSG_OCC type >> of message and report it to the userspace so as to keep the user >> informed about the reason for a performance drop in workloads. >> >> The reset and load OCC events are notified to kernel when FSP sends >> OCC_RESET and OCC_LOAD commands. Both reset and load messages are >> sent to kernel on successful completion of reset and load operation >> respectively. > > How is this done on OpenPower systems? Explanation involving just what > OPAL does is likely better, rather than explaining in context of FSP, > which Linux has no real knowledge of (OPAL provides all abstraction of > it). > In OpenPower systems, opal will only send OCC throttled event. OCC reset and load messages are not sent to kernel. How about the following git log message? Add OPAL_MSG_OCC message definition to opal_message_type to receive OCC events like reset, load and throttled. Host performance can be affected when OCC is reset or OCC throttles the max Pstate. We can register to opal_message_notifier to receive OPAL_MSG_OCC type of message and report it to the userspace so as to keep the user informed about the reason for a performance drop in workloads. Opal will send reset and load events to kernel on successful completion of reset and load operation of OCC. During this duration the cpu frequency will be throttled until OCC is started. Opal will send a throttle message during the OCC reset-cycle to indicate that OCC is active. Opal will send throttle message to kernel when OCC is active to indicate that the Pmax of the chip is reduced. The chip_id and throttle reason for reducing Pmax is queued along with the message. Thanks and Regards, Shilpa -- To unsubscribe from this list: send the line "unsubscribe linux-pm" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/arch/powerpc/include/asm/opal-api.h b/arch/powerpc/include/asm/opal-api.h index e9e4c52..64dc9f5 100644 --- a/arch/powerpc/include/asm/opal-api.h +++ b/arch/powerpc/include/asm/opal-api.h @@ -361,6 +361,7 @@ enum opal_msg_type { OPAL_MSG_HMI_EVT, OPAL_MSG_DPO, OPAL_MSG_PRD, + OPAL_MSG_OCC, OPAL_MSG_TYPE_MAX, }; @@ -700,6 +701,17 @@ struct opal_prd_msg_header { struct opal_prd_msg; +#define OCC_RESET 0 +#define OCC_LOAD 1 +#define OCC_THROTTLE 2 +#define OCC_MAX_THROTTLE_STATUS 5 + +struct opal_occ_msg { + __be64 type; + __be64 chip; + __be64 throttle_status; +}; + /* * SG entries *