Repository navigation
refactor: drop the unused per-lcore RCU persistent flag - #229
Merged
Merged
Conversation
Remove fastrg_rcu_persistent[RTE_MAX_LCORE] and its getter fast path. The flag was only ever read by the ctrl TX path (wan_ctrl_tx / lan_ctrl_tx), and ctrl_thread never calls fastrg_rcu_dp_register, so in production the flag was always FALSE and the rcu_toggle condition there already reduced to `lcore_id != LCORE_ID_ANY`. Behavior is unchanged. Unit tests no longer set the flag directly; instead init_ccb() now builds and registers a real pdump_rcu (mirroring src/init.c), so the ctrl TX path in tests exercises the actual online -> tx_burst -> quiescent -> offline sequence instead of skipping it via the flag. free_ccb() releases the rcu memory accordingly. No test cases were added or changed, only the setup/teardown mechanics. Also rewrites the stale phase16 e2e header comment, which still described the removed getter fast path and an outdated SetSubscriberCount reallocation behavior. Test results: make test 2394/2394 passed, make all succeeded, e2e 198/198 passed (44/44 phases). Two node teardown crashes (SIGSEGV / SIGABRT in glibc malloc_consolidate) were observed during the e2e run at the same two steps where a pre-existing binary also crashed before this change; they are unrelated to this refactor and are tracked separately. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
wan_ctrl_tx/lan_ctrl_tx) always read the flag asFALSE, so removing it leaves behavior unchanged.init_ccb()now builds and registers a realpdump_rcu(mirroringsrc/init.c), so the ctrl TX path in tests exercises the actual online -> tx_burst -> quiescent -> offline sequence instead of skipping it via the flag.Testing
make test: 2394/2394 passedmake all: succeededNote: two node teardown crashes were observed during that e2e run; they also reproduce on master without this change and are being fixed separately.
🤖 Generated with Claude Code