diff options
author | Dan Crowell <dcrowell@us.ibm.com> | 2018-11-09 12:04:07 -0600 |
---|---|---|
committer | Daniel M. Crowell <dcrowell@us.ibm.com> | 2018-11-27 16:28:17 -0600 |
commit | 8e5dda92903e105c62f52390b35d3e335d55f532 (patch) | |
tree | 15710c1b626f3f66a847728a60689ceb46a4e818 /src/include/usr | |
parent | 022f2d75d80d7ac11abec2e87da76b8691d0498b (diff) | |
download | talos-hostboot-8e5dda92903e105c62f52390b35d3e335d55f532.tar.gz talos-hostboot-8e5dda92903e105c62f52390b35d3e335d55f532.zip |
Reduce ipmi trace spam for pnor hiomap messages
With the PNOR accesses now going over IPMI, the IPMI traces are
now completely overwhelmed by those messages. This change will
skip tracing out the messages if they are the hiomap requests.
Example of trace spam:
3.34945|IPMI|rp: queuing sync e8:5a
3.34946|IPMI|rp: W>Got message (0xe8:0x5a): l_is_pnor: 1
3.34952|IPMI|dd: I>write ok e8:5a seq 26 len 6
3.35837|IPMI|dd: I>read b2h ok ec:5a seq 26 len 8 cc 0
3.35947|IPMI|rp: queuing sync e8:5a
3.35948|IPMI|rp: W>Got message (0xe8:0x5a): l_is_pnor: 1
3.35953|IPMI|dd: I>write ok e8:5a seq 27 len 6
3.36837|IPMI|dd: I>read b2h ok ec:5a seq 27 len 8 cc 0
3.36947|IPMI|rp: queuing sync e8:5a
3.36948|IPMI|rp: W>Got message (0xe8:0x5a): l_is_pnor: 1
3.36953|IPMI|dd: I>write ok e8:5a seq 28 len 6
3.43855|IPMI|dd: I>read b2h ok ec:5a seq 28 len 8 cc 0
3.43926|IPMI|rp: queuing sync e8:5a
3.43927|IPMI|rp: W>Got message (0xe8:0x5a): l_is_pnor: 1
3.43933|IPMI|dd: I>write ok e8:5a seq 29 len 6
3.50860|IPMI|dd: I>read b2h ok ec:5a seq 29 len 8 cc 0
3.50902|IPMI|rp: queuing sync e8:5a
3.50902|IPMI|rp: W>Got message (0xe8:0x5a): l_is_pnor: 1
In a single boot on a system there were close to 4000 of these
traces.
Change-Id: Ia8944ca7f281986ec0bca7328fa56a7c0d521339
Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/68605
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com>
Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com>
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Reviewed-by: Christian R. Geddes <crgeddes@us.ibm.com>
Reviewed-by: William G. Hoffa <wghoffa@us.ibm.com>
Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/include/usr')
-rw-r--r-- | src/include/usr/ipmi/ipmiif.H | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/include/usr/ipmi/ipmiif.H b/src/include/usr/ipmi/ipmiif.H index 59eee8673..0421aaef3 100644 --- a/src/include/usr/ipmi/ipmiif.H +++ b/src/include/usr/ipmi/ipmiif.H @@ -116,6 +116,16 @@ namespace IPMI NETFUN_NONE = (0x30 << 2), }; + /** + * @brief Generate the response for IPMI network function + * @param[in] Standard network function + * @return Network function in response (+1) + */ + inline const uint8_t gen_resp_netfn( network_function i_netfn ) + { + return ( ( (i_netfn >> 2) + 1 ) << 2 ); + }; + // SMS_ATN OEM Event constants enum oem_event { @@ -314,6 +324,16 @@ namespace IPMI inline const command_t pnor_hiomap_request(void) { return std::make_pair(NETFUN_IBM, 0x5a); } + // Efficient comparator to see if the message is a pnor hiomap request + inline bool is_pnor_req( uint8_t i_netfun, uint8_t i_cmd ) + { + return (((i_netfun == NETFUN_IBM) || + (i_netfun == gen_resp_netfn(NETFUN_IBM))) //response + && + (i_cmd == 0x5a)); + } + + /** * Send message asynchronously * @param[in] i_cmd, the network function and command |