Skip to content

AO_AppMgr takes the CRC of an install's victims in one step: about 70 ms per MB #118

Closed

Description

@jbenedictocenteno

SDK version

develop (ff54571), ESP-IDF v6.1

Component

kaos (AO_AppMgr)

Where it runs

kodeOS on a Kode Dot, any install that evicts.

What happened

Since #115 AO_AppMgr writes the table of an install's victims to NVS before the eviction commit, each with a CRC-32 of its extent, so a reset in the middle can give them back. The CRC of all the victims is taken in one dispatch step. Measured on a board: about 70 ms per MB, 0.44 s for 6.2 MB of victims.

For that time AO_AppMgr keeps every Active Object below it from running: the glass, the log, the radio's and the network's owners. The task watchdog is far (5 s) and nothing was seen to fail, but it is the kind of step the design rules ask to cut up: the same file writes an image in 32 KB chunks paced by a timer, and the recovery at start-up takes the same CRCs 512 KB a step.

What you expected

The CRCs at eviction taken the way the recovery takes them, a bounded piece a step, with the commit after the last one.

Anything else

The cost is in the order of the image verify at the end of an install, which runs in one step too and was there before.

Activity

  1. added a commit that references this issue on Nov 15, 2026
    1841cc8
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingkaosTouches kaos

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions