-
Notifications
You must be signed in to change notification settings - Fork 298
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Refactor apps.config into lib.ptree #1258
Closed
Closed
Conversation
This file contains 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
Merge next to lwaftr
This improves the variable names to better describe what they represent. It also makes the timer in the bench.lua code repeating rather than simply creating lots of new timers everytime it's called.
Stabilize breathe order
This moves the finding of followers for the leader and starting of sampling to the setup function so it can be shared across both the bench command and the run command. In addition to this it also prevents the header from being written multiple times.
Start worker processes from leader
Implement alarm raise and clear
Fix followers iteration
Merge v2017.08
The format is as for "snabb snsh", but it applies to the data plane processes, not the main process. For -jp and -jtprof, reports will go out every 10 seconds.
Add -j option to "snabb lwaftr run" and "bench"
The refactoring avoids two ffi.new per iteration and uses Lua native types instead, which results in less reported garbage collection. The intermedary psid map is replaced by a Lua table. A 1M softwire binding-table with psid length 6 has less than 16K entries, manageable with a Lua table.
Fix performance
Adapt requires_splitter to new configuration format
This commit supports the addition of new instances by snabb config add which will start a new follower and configure it with the instance provided. Snabb config remove on an instance will now also stop the instance. Tests have been added to verify it starts and stops followers as described above.
Also add generic worker.main() export from lib.ptree.worker
* src/lib/ptree/worker.lua: Privatize "Worker".
Store next_time locally in the main() function, and in the selftest, run the main() function for longer than a single tick.
Allow timers to be cancelled.
Having the multiprocess tree and configuration system be implemented as apps was a neat hack that re-used the app abstraction as a way to add a reconfiguration back-channel to a dataplane, but it goes against the abstraction that the core.app / engine facility should really be targeted towards the dataplane domain; it's not necessarily a great generic process composition facility.
This name better matches how users will think of it. Also add functionality to set program name to the manager, and bind the manager to a NUMA node as appropriate. Unclaim the name as the manager stops.
Do assign CPU affinity even if it has to be on a remote node, but warn. Warn if no CPUs available.
Use config-leader-socket to avoid breaking existing clients.
Merge v2017.11
whoops, wrong target branch |
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.
This merges #1257.