notes: Patch C v2 Phase 4 plan — atomic_t prep + direct-deliver (re-after-failure) #10
Reference in New Issue
Block a user
Delete Branch "claude-noether-8"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Replan after Patch C Phase 7 failed at boot -1 20:18:10 with a
wsm_release_tx_bufferthread-safety race. PR #3 on bes2600-dkms closed with full verdict comment.What's different from Patch C plan
bes2600_bh_handle_rx_skbmutates directly or transitively, with current protection and required action. 3 fields need atomic_t (hw_bufs_used,hw_bufs_used_vif[],wsm_tx_pending[]); the rest are already concurrency-safe. This is the table that should have been in the original Patch C plan and wasn't.atomic_fetch_sub_releasevs_acquirepaired reads) and theinc/dec_pending_counttimer-decision race.enu1at192.168.88.80) so we can capture dmesg / ftrace / journalctl from a wedged ohm without forcing reboot — the data we lost in Patch C boot -1 because wlan0 was the only path.Decision points for review
atomic_fetch_sub_releasefor the decrement. Reviewer should sanity-check whether the corresponding reads need_acquireto pair correctly, especially in the bh main loop's idle predicate.wsm_tx_pending[]decrement-then-timer-decide is racy under atomic_t alone. Plan flags it; doesn't fix it yet. Either a separate lock or moving inc/dec to single context is needed. Specifically request reviewer judgment on this.Rig status
/lib/modules/.../extra/bes2600.ko= Patch B (1B3B3ED0…). Currently RUNNING is still Patch C broken (84239431…) until Markus reboots./var/tmp/bes2600.patchC-broken.ko(forensics).enu1(USB-Ethernet) at192.168.88.80survives bes2600 wedges; lmcpohmhost still goes through wlan0, so I'll usessh mfritsche@192.168.88.80directly via Bash for any Phase 7 work.What's NOT in this PR