Skip to content

Roadmap: repo scope split (kernel primitives here; Settings/ZBUS in a companion repo) and k_poll disposition #47

@swoisz

Description

@swoisz

Documenting two roadmap decisions so the public board reflects them:

Scope split. Kernel primitives (k_*, sys/*) belong in this repo. Larger upstream subsystems are planned for a companion repo rather than Boreas itself:

  • Settings subsystem — after log/shell, likely the most-used subsystem in shipped Zephyr products (calibration, provisioning, persistent state); maps cleanly onto NVS.
  • ZBUS — fast-growing default app-architecture answer in the NCS/Golioth ecosystem; mostly pure software over existing primitives (k_mutex, k_sem, k_msgq).

The verbatim-port thesis these depend on is validated: upstream SMF runs on Boreas with only the three small shims tracked in #44.

k_poll stays deferred (reaffirmed). App-level usage is rarer than its reputation — the heavy users are internal to stacks not being ported (net sockets, BT host), and modbus does not need it. k_event (wait-any/wait-all with mask, full 32 bits as of #42) covers most app-level multiplexed-wait patterns and is the migration answer for consumers. FreeRTOS QueueSets do not map to Zephyr's poll-event model (registration semantics, no signal objects), so k_poll would be a from-scratch wait-queue build — and every new blocking path re-enters the object-lifetime minefield. Revisit only with a concrete consumer.

Feature-track sequencing: #45 (ring_buf) → #46 (k_mem_slab + k_fifo) → companion-repo subsystems.

Metadata

Metadata

Assignees

No one assigned

    Labels

    designArchitecture / design-principle work

    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