O

obmm-ecology

暂无简介

公告
暂无公告

README

obmm-ecology

The OBMM (Ownership Based Memory Management) ecology on GitCode.

OBMM is a Linux kernel subsystem for cross-node shared memory built on the UB (UniBus) fabric — multiple servers share physical memory over a cache-coherent interconnect, with export/import semantics for publishing and mapping remote memory. This organization hosts everything needed to develop, test, and deploy against it, without requiring real hardware.

What's here

Repo What it is
obmmctl Rust CLI for OBMM operations (export / import / preimport / query / list / monitor)
obmm-test Distributed test framework for OBMM across multiple hosts
ubqemu QEMU fork with a virtual UB controller — run OBMM on two VMs instead of a real cluster
obmmalloc malloc-style allocator on the OBMM shared-memory pool (jemalloc extent hooks)
obmm-skill Agent skill collection distilled from the repos above (this repo)

Want to try OBMM without real hardware? Start with ubqemu (ub-vub branch) to bring up a two-node virtual cluster, then use obmmctl inside the guests.


The skill collection

This repository is the skill collection for the obmm-ecology namespace. It consolidates the reusable agent skills distilled from the other repositories:

  • obmm-test — the distributed C test framework for OBMM
  • obmmctl — the Rust CLI for OBMM
  • ubqemu — the QEMU arm64 virtual-UB platform the framework runs on

Each skill lives under .agents/skills/<name>/SKILL.md with YAML frontmatter (name, description) followed by Markdown, matching the skill format already used in-repo by obmm-test/.agents/skills/.

Why a separate repo

obmm-test already ships two skills inline (.agents/skills/). obmmctl ships none. Distilling the shared domain knowledge and each repo's implementation knowledge into one canonical collection here means a new contributor (or a new repo added to the namespace) can pull all six skills without re-deriving them from each repo's docs.

The skills

Skill Source Use when
obmm-domain distilled from both repos you touch OBMM concepts (mem_id, export/import/preimport, EID/CNA, sysfs/procfs, alignment, 64K adaptation) in either repo
obmm-test-writer from obmm-test you are writing or extending an individual OBMM test case (interactive, spec-first)
obmm-test-maintainer distilled from obmm-test docs you work on obmm-test framework internals — orchestrator/conductor/actor model, build system, loaders, vendor dispatch
obmmctl-developer distilled from obmmctl you implement, extend, or debug a command or core type in the obmmctl Rust CLI
obmm-task-experience from obmm-test history you want the accumulated work-patterns and known-pitfalls from past obmm-test sessions (64K adaptation rules, cppcheck disposition, fault-injection patterns, return-convention mismatch symptoms)
vub-platform-runner from ubqemu you run obmm-test on the vUB virtual platform — VM bring-up, mami4ubmem shim deployment, guest prerequisites, interpreting vUB-specific failures

obmm-domain is the foundation; the repo-specific skills build on it and should be paired with it when the task is about behaviour, not just code mechanics. Pair vub-platform-runner with obmm-domain when debugging import/export behaviour observed on the platform.

Layout

.agents/skills/
  obmm-domain/SKILL.md            shared OBMM domain model
  obmm-test-writer/SKILL.md       test-case authoring (interactive, spec-first)
  obmm-test-maintainer/SKILL.md   framework internals
  obmmctl-developer/SKILL.md      Rust CLI architecture & conventions
  obmm-task-experience/SKILL.md   historical work-patterns & pitfalls
  vub-platform-runner/SKILL.md    running obmm-test on the vUB QEMU platform

Relationship to the source repos

  • obmm-test-writer and obmm-task-experience are mirrored from obmm-test/.agents/skills/. If those upstream files change, this mirror should be updated to match (or, conversely, the upstream copy can be removed in favour of this canonical one).
  • obmm-domain, obmm-test-maintainer, and obmmctl-developer are net-new distillations produced by reading the two repos end-to-end (README.md, AGENTS.md/CLAUDE.md, the doc/ trees, and representative source). They summarise; they do not replace the source docs. When a skill and a source doc disagree, the source doc wins — fix the skill.
  • vub-platform-runner is distilled from ubqemu's docs/specs/vub-qemu-usage.md and the verification history of running the full obmm-test suite on the platform; that doc is authoritative for the device model and the bring-up procedure.
热门项目
qemuFork
0

Official QEMU mirror. Please see https://www.qemu.org/contribute/ for how to submit changes to QEMU. Pull Requests are disabled. Please only use release tarballs from the QEMU website.

  • 暂无简介
    C
    0
    0
    MulanPSL-2.0
    更新于 25 天前
    Star
  • qemuFork
    Official QEMU mirror. Please see https://www.qemu.org/contribute/ for how to submit changes to QEMU. Pull Requests are disabled. Please only use release tarballs from the QEMU website.
    C
    0
    0
    更新于 24 天前
    Star
  • 暂无简介
    Rust
    0
    1
    NOASSERTION
    更新于 3月25日
    Star
  • 暂无简介
    C
    0
    3
    MulanPSL-2.0
    更新于 8月14日
    Star
  • 暂无简介
    Markdown
    0
    0
    更新于 25 天前
    Star
查看全部项目 >
公告
暂无公告
成就
0
Star
4
Fork
586
Download
常用语言
C
Markdown
Rust
CMake
Python