HPE 9000 and HPE e3000 Servers
cancel
Showing results for 
Search instead for 
Did you mean: 

Possible to obtain PCI_BUS_TARGET_ID prior to HPMC?

 
Robert_Jewell
Honored Contributor

Re: Possible to obtain PCI_BUS_TARGET_ID prior to HPMC?

Oof! A bit of work for you there, eh?

Our problem seems to manifest itself in droves...a series of HPMC's and then we were good for a month, then more crash events. Hopefully we are good to go at this point though with the changes as advised.

Thanks,
Bob
----------------
Was this helpful? Like this post by giving me a thumbs up below!
Dennis Handly
Acclaimed Contributor

Re: Possible to obtain PCI_BUS_TARGET_ID prior to HPMC?

>not-universally-valid assumptions in the LIBCL stack unwinding library appears to be at the root of our own HPMC problem.

(So you are that customer with that PROBE problem.)
This is either a kernel or a driver issue since a non-privileged program shouldn't be able to crash the system.
That's the assumption of the Trap/Unwind lib. It uses PROBEW so it doesn't crash the application.
mvpel
Trusted Contributor

Re: Possible to obtain PCI_BUS_TARGET_ID prior to HPMC?

Gene B. (WTEC) and one of my engineering-team colleagues here have the problem by the tail, so at this point I think it's just a matter of determining the proper strategy to correct it.
mvpel
Trusted Contributor

Re: Possible to obtain PCI_BUS_TARGET_ID prior to HPMC?

Let's just say it's going to be a VERY interesting white paper. Hopefully we'll be permitted to release it outside of the company.
mvpel
Trusted Contributor

Re: Possible to obtain PCI_BUS_TARGET_ID prior to HPMC?

Gene added one line of code to the U_get_previous_frame() call (I think), in the LIBCL library, to initialize the prev_r19 value in the prev_frame structure to zero, and the problem disappeared.

SW engineering is testing, and so far, so good. Look for an upcoming patch to supersede PHSS_40802.
Michael_Pelleti
Occasional Advisor

Re: Possible to obtain PCI_BUS_TARGET_ID prior to HPMC?

One key piece of information I omitted above is that the PCI Local Bus Specification v2.1 says that a PCI card only has to respond to addresses which it supports, not the entire 4096-byte page that may be mapped. The timeout occurs when the access falls within the mapped 4k page but outside of the range of the card's actual registers.

 

  • “Devices that do consume more address space than they use are not required to respond to the unused portion of that address space.”

The LIBCL patch including this fix is due out in the November 2011 11i v1 patch bundle.

 

Certain compilers bundle the libcl.a in the compiler install directory, however, and static-link it into their executables, so simply applying the patch won't fix the problem - any executable built with the old library would need to be rebuilt with the new one.

Highlighted
Dennis Handly
Acclaimed Contributor

Re: Possible to obtain PCI_BUS_TARGET_ID prior to HPMC?

>Certain compilers bundle the libcl.a in the compiler install directory, however, and static-link it into their executables,

 

This is a core patch, nothing to do with compiler paths.  And it is the user that can chose to link in the archive version.

mvpel
Trusted Contributor

Re: Possible to obtain PCI_BUS_TARGET_ID prior to HPMC?

One last update - the fix for our issue turned out to adversely affect the stack-unwinding functionality of Pascal programs, and as a result it was not incorporated into the official LIBCL patch tree but released as a customer-specific patch instead.