Skip to content

[Feature]: Memory Bin Test #1730

@makubacki

Description

@makubacki

Feature Overview

Memory bins/buckets have historically and typically relied on a default -> resize -> proceed algorithm the adjust bin sizes.

  1. Set RT memory type bin sizes a default value in a PCD
  2. Produce a HOB during boot with the default values from the PCD
  3. BDS checks actual usage against the current settings and uses a UEFI variable to update the bin sizes
  4. Next boot, the HOB producer phase uses the UEFI variable instead of the default value

While this flow functionally works, having the defaults no longer sufficiently cover the current sizes needed is undesirable in that all boots after flashing incur a reset. In many cases, the reset occurs and no one notices silently adding boot time. Some platforms might not have a full UEFI variable stack loaded during their HOB producer phase.

Solution Overview

The solution could manifest in different forms, but the main idea is to have a dedicated mechanism (e.g. test app) that makes it obvious to developers when bin sizes need adjusted. For example, an EFI application that halts boot or reports status out to a test framework.

This would run in developer scenarios where they can quickly account for bucket size adjustments at the time of testing the code change that necessitates the adjustment.

Alternatives Considered

No response

Urgency

Medium

Are you going to implement the feature request?

Someone else needs to implement the feature

Do you need maintainer feedback?

No maintainer feedback needed

Anything else?

I don't mind implementing it. But leaving it unassigned to start in case someone else is passionate about it.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions