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-writerandobmm-task-experienceare mirrored fromobmm-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, andobmmctl-developerare net-new distillations produced by reading the two repos end-to-end (README.md,AGENTS.md/CLAUDE.md, thedoc/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-runneris distilled from ubqemu'sdocs/specs/vub-qemu-usage.mdand 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.
暂无简介
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.
暂无简介
暂无简介
暂无简介