Announcement

Collapse
No announcement yet.

System hang when running MemTest86 on Supermicro board

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • #16
    Root cause is memtest86 doesn’t have high enough priority during its running session, the specific memory region is manipulated by other higher priority task, resulted memtest86 crash.

    /** MdePkg/Include/Uefi/UefiSpec.h **/
    585 //
    586 // Task priority level
    587 //
    588 #define TPL_APPLICATION 4
    589 #define TPL_CALLBACK 8
    590 #define TPL_NOTIFY 16
    591 #define TPL_HIGH_LEVEL 31

    When Lan-Over-USB (Redfish host interface) was introduced in BIOS 3.3, a TPL_CALLBACK level routine was in place for IPv4 binding, which has higher priority than memtest86 and also manipulate EfiBootservicesData memory pool, resulted the conflict and crash in memtest86.

    Although BISO changed design, eliminated the timer interrupt that will crash memtest86, but still uncertain memtest86 won’t be influenced by other higher priority tasks. We would encourage memtest86 to reappraise their design, in general higher priority can much lower the chance of conflict when running memory test.

    How can we verify what the BIOS engineer is saying and memtest86 the Passmark people says our BIOS engineer is wrong.
    • BIOS team now have a solution to solve the problem from one side, and they can easily demonstrate a simple application to crash memtest86 by 1ms TPL_CALLBACK routine, I have to believe what they said.

    Comment


    • #17
      also manipulate EfiBootservicesData memory pool
      This must be a a bug in Redfish? Surely?

      We understand what you are saying. But running MemTest86 higher priority might block important systems tasks from executing (e.g. real time clock) and cause even more unknown and random problems. It might be OK on some systems and cause subtle faults on other systems.

      and they can easily demonstrate a simple application
      Can you EMail us, or post the code for this simple application.

      Comment


      • #18
        Agreed the general guideline from UEFI BIOS writer guide. But memtest86 is an extensive memory access utility, it may drain more system resource than typical application. UEFI shell is not a sophisticated environment for multitasking, it is worth to take all these factors into account on design and implementation. Hopefully there is somewhere in between good for everyone.

        Thank you for all your great support.

        Comment

        Working...
        X