4 Commits

Author SHA1 Message Date
Markus Fritsche 1656f84a40 iter6 plan v2: log A5 execution deviation — PROVE_RCU forced =y by kconfig
CONFIG_PROVE_RCU is selected by CONFIG_PROVE_LOCKING via Kconfig
dependency. Cannot disable without disabling PROVE_LOCKING itself
(which would defeat the purpose). Documenting the execution deviation
from A5: PROVE_RCU=y remains. 10-min HW watchdog has plenty of margin.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-16 16:54:38 +00:00
Markus Fritsche a8d563a917 iter6 plan v2: ramoops amendments (user chose ramoops over serial)
User picked ramoops path for the 0.4 hard gate. Current ampere kernel
has CONFIG_PSTORE_RAM=m but lacks PSTORE_CONSOLE, so ramoops can only
be made operational AFTER lockdep kernel rebuild.

4 amendments:
- 0.4: restructured. 0.4a/b survey current state (informational only),
  0.4c notes accepted limitation (hard spinlock+IRQ-off won't flush),
  0.4-G hard gate moves to step 1.8a (after lockdep kernel boots)
- 1.2: add --enable PSTORE_CONSOLE --enable PSTORE_PMSG
- 1.6: extend lockdep extlinux append with ramoops carve-out cmdline
  (memmap=0x100000$0x10000000 ramoops.mem_address=0x10000000
  ramoops.mem_size=0x100000 console_size=0x40000 dump_oops=1).
  DEFAULT override is mandatory per Q3 (ramoops-only operator).
- 1.7/1.8: split into 1.7 (boot+module load), 1.8a (sysrq-trigger
  ramoops verify HARD GATE), 1.8b (regular smoke test)

Documented limitation accepted by user: hard spinlock-with-IRQ-off
deadlocks (the worst-case iter6 v1 wedge shape) may not flush to
pstore before watchdog reset. Serial would catch those; ramoops may
miss. Bisect-apply 0004→0005→0006→0007v2 should surface lockdep
splats BEFORE the deadlock becomes a hard hang anyway.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-16 16:53:14 +00:00
Markus Fritsche 543bed905f iter6 plan v2: add remote-operator DEFAULT override note (Sonnet round 2 Q3)
Sonnet round 2 review ACCEPTED 0007 v2 + 4 of 5 amendment areas.
Q3 found one new issue introduced by amendments: U-Boot extlinux menu
selection requires physical keyboard/HDMI presence — not workable for
SSH-only operators relying on serial console.

Fix (single prose addition to step 1.6): if remote-only operator
relying on serial (0.4b), temporarily set DEFAULT arch_devices_lockdep
for this test boot. Restore DEFAULT arch_devices before any non-test
reboot. If ramoops-only (0.4a, no serial), DEFAULT override MANDATORY.

Q1 (0007 v2 source), Q2 (5 amendments), Q4 (recovery sufficiency) all
ACCEPTed. With this Q3 prose fix applied, Phase 5 review complete.
Pending user sign-off + serial cable confirmation before pre-flight.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-16 16:35:16 +00:00
Markus Fritsche b02baffca7 iter6 post-mortem Phase 4 v2: per-codec 0007 + lockdep base kernel
Amendments per Sonnet architect review round 1:
- A1: 0007 v2 rewritten — 7 per-codec run() insertion points,
  matches hantro pattern (after preamble metadata copy, before HW kick).
  Old v1 (in rkvdec_device_run) REJECTED — wrong structural placement.
- A2: panthor ww_mutex/dma_resv contention added as primary hypothesis H1.
  Smoke test 1.9/2.x extended to exercise GPU compositor path.
- A3: CONFIG_LOCALVERSION=-lockdep so lockdep kernel uname differs from
  vanilla — prevents modules_install overwriting working tree.
- A4: pstore/serial gate is now HARD (one-of required); pre-flight aborts
  if neither serial nor ramoops is functional.
- A5: PROVE_RCU removed from initial config — boot latency risk pushes
  past watchdog before lockdep prints. Add back only if first run clean.

0007-v2 patch attached: 8 hunks across rkvdec-{h264,hevc,vdpu381-h264,
vdpu381-hevc,vdpu383-h264,vdpu383-hevc,vp9}.c + rkvdec.c queue_init flag.
25 lines insertions.

Pending Phase 5 round 2 delta-review of v2 source + amended plan before
any execution.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-16 16:33:08 +00:00