Skip to content

Fall 2023 wishlist #143

@rountree

Description

@rountree
  1. Allow an msr_batch_array to be validated once again the allowlist and the be repeatedly executed. Subsequent ioctl calls to trigger re-execution should probably provide the userspace buffer for the results. Any modification to the allowlist should wipe any store msr_batch_array.

[#174] 2. Extend the msr_batch_op to include before-and-after timestamps (MPERF on Intel).

[#170] 3. Extend msr_batch_array to include a version check.

[#174] 4. Extend isrdmsr to enable new features (make it a list of bit flags)

  1. Extend msr_batch_op to allow a field with a value for kernel timers, probably some offset from "now." This would allow non-blocking operation and longer-term, lighter-weight monitoring.

[#174] 6. Implement "read until changed" in such a way that it's not a massive denial-of-service attack opportunity. (Interrupt after 10ms?). Useful for getting energy updates right when they happen.

  1. Verify that any change to the allowlist stops any batch processing in progress. (I don't think it does currently.). Fix if it doesn't.

[WIP] 8. The perennial: how to do testing on newer versions of the Linux kernel?

  1. Add a bit to the documentation explaining that the MSRs on your machine are a combination of what the processor provides and what the firmware allows you to see.

  2. Incorporate Intel's msr-tools into this project, coded to use msr-safe. Perhaps extend that CLI interface a bit.

  3. For processors we have access to, start doing sweeps to find undocumented MSRs, documented-but-absent MSRs, and which bits are writeable, which bits are locks...

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions