Skip to content

RFC: Proposed cgroup v2 and openat2 test case contributions for LTP #1328

Description

@priyama2

Hi all,

Following recent discussions on the mailing list and suggestions to improve cgroup coverage in LTP, I reviewed the existing tests and kernel selftests and came up with a set of potential test cases that I believe could strengthen LTP's coverage.

Before I start implementing them, I would appreciate feedback from the community to avoid duplicating existing work and to understand which areas would be the most valuable to prioritize.

Candidate test cases
cgroup v2

  • |cgroupv2_no_internal_process01| – Validate enforcement of the "no
    internal process" rule.

  • |cgroupv2_controller_propagation01| – Verify controller propagation
    across nested hierarchies.

  • |cgroup2_mem_psi01| – Validate memory PSI accounting within cgroups.

  • |cgroup2_cpu_burst01| – Verify CPU burst quota behaviour.

  • |cgroup2_delegation01| – Test delegation boundaries and permission
    enforcement.

  • |cgroup2_io_cost01| – Validate I/O cost controller accounting.

PSI

  • |psi_memory_pressure01|

  • |psi_io_pressure01|

  • |psi_cpu_pressure01|

cpuset

  • |cpuset_partition_root01|

  • |cpuset_partition_hotplug01|

openat2

  • |openat2_symlink01| – Validate |RESOLVE_NO_SYMLINKS| behaviour and
    expected |ELOOP| handling.

Potential enhancements to existing coverage

I am also considering tests that complement existing functionality by focusing on edge cases and error handling, such as:

  • Invalid |subtree_control| state transitions and rollback verification
  • Threaded mode transition races
  • Thread migration rule enforcement
  • Hierarchical resource limit validation
  • Invalid hierarchy operations and permission boundary checks
  • NUMA policy and migration validation

My intention is to focus on deterministic error paths, corner cases, concurrency, and integration scenarios that may complement existing LTP tests and kernel selftests, rather than duplicating current coverage.

Could the maintainers and community please share:

  1. Which of these ideas would be most valuable to implement first?

  2. Whether any of these overlap with ongoing work or planned patches?

  3. Whether there are other areas in cgroup v2 or related subsystems
    where additional LTP coverage would be more beneficial?

I'd be happy to refine the proposals based on the feedback before starting implementation.

Thanks in advance for your guidance.

Best regards,
Priya A

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions