Skip to content
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 deployers #57

Merged
merged 6 commits into from
Apr 28, 2017

Conversation

snrkiwi
Copy link
Contributor

@snrkiwi snrkiwi commented Mar 19, 2017

Refactor the TLSF code in the three (3) deployers.

Add code to dump TLSF statistics

Stephen Roderick added 6 commits February 5, 2017 08:13
The existing "check" approach called loadComponents(file), which loaded all
components from "file" into the next group, and then called
configureComponents(), which configured *all* groups. This results in
configuring components in some layers multiple times, if multiple
files are loaded. e.g.

- kickStart(file1);
- kickStart(file2);

results in

- load components from file 1
- configure components from file 1
- load components from file 2
- configure components from file 1 // BAD!
- configure components from file 2

The fix is to use the internal load/configure/start functions that
know about groups, and which only load/configure/start the components
of the current group. This effectively needs a kickStart() that knows
whether the user wants to start components or not (which is the only
net difference between a deployment run with and without checking.
Avoid configuring components multiple times by using the new kick
start capability, which correctly works per group (ie file).
Avoid duplicated code.
Fix the logged output to account for the TLSF overhead.
@meyerj meyerj merged commit fd02e73 into orocos-toolchain:toolchain-2.9 Apr 28, 2017
@meyerj
Copy link
Member

meyerj commented Apr 28, 2017

I had to disable the TLSF dump in a145784 because RTT is built without TLSF debugging by default (OS_RT_MALLOC_DEBUG=OFF). Ideally we add the flag to the generated target config header so that OCL and other packages can check whether TLSF debugging was enabled or not in RTT.

@snrkiwi
Copy link
Contributor Author

snrkiwi commented Apr 29, 2017 via email

@snrkiwi snrkiwi deleted the refactor-deployers branch November 20, 2017 19:14
meyerj added a commit that referenced this pull request Apr 17, 2019
This is a regression from #74, which removed the
`using namespace std` directive, but was picked from a branch were
#57 was already applied. The latter moved the
tlsf log output from the individual deployers to a centralized class in `deployer-funcs.cpp`
and therefore did not require the using namespace directive anymore.

Signed-off-by: Johannes Meyer <[email protected]>
meyerj added a commit that referenced this pull request Apr 17, 2019
This is a regression from #74, which removed the
`using namespace std` directive, but was picked from a branch were
#57 was already applied. The latter moved the
tlsf log output from the individual deployers to a centralized class in `deployer-funcs.cpp`
and therefore did not require the using namespace directive anymore.

Signed-off-by: Johannes Meyer <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants