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

Remove deprecated C schedulers++ #2037

Merged
merged 14 commits into from
Oct 6, 2023
Merged

Conversation

erlingrj
Copy link
Collaborator

@erlingrj erlingrj commented Oct 4, 2023

This PR does two things:

  1. Removes the deprecated C schedulers (as discussed with @edwardalee and @petervdonovan) GEDF_NP_CI and PEDF_NP.
  2. Prepends the scheduler selection macro with SCHED. E.g. "SCHED_ADAPTIVE" instead of "ADAPTIVE". This should address Martens problem of wanting to use scheduler names as variables. Btw, we dont even have a LET scheduler, so that problem was easily fixed, but in general I think this change is a good idea

Closes #2009

@edwardalee
Copy link
Collaborator

We need to remove or fix GEDF_NP as well. It drops events with federated execution, possibly because deadlines are not correctly propagated upstream (reaction order dependencies are ignored). Even if this is fixed, it does very little because it only prioritizes deadlines per level.

@erlingrj
Copy link
Collaborator Author

erlingrj commented Oct 5, 2023

Then I propose we remove it and leave it as an open issue to fix it and bring back into main. Currently I am seeing some wierd level errors in CI on the single federated test that hardcodes the usage of the adaptive scheduler...

@erlingrj
Copy link
Collaborator Author

erlingrj commented Oct 5, 2023

@edwardalee I could take a stab at fixing the GEDF scheduler if you can provide a test case where it fails. Even if it "only" prioritizes reactions after deadline this is still an important feature. E.g. your example with a pipeline sense->process->act with a deadline on act needs it

@edwardalee
Copy link
Collaborator

@edwardalee I could take a stab at fixing the GEDF scheduler if you can provide a test case where it fails. Even if it "only" prioritizes reactions after deadline this is still an important feature. E.g. your example with a pipeline sense->process->act with a deadline on act needs it

There is a test case in this issue. It is actually my sense->process->act example that fails.

…ingua-franca into c-remove-deprecated-schedulers
Copy link
Collaborator

@edwardalee edwardalee left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM! Let's merge this!

@lhstrh
Copy link
Member

lhstrh commented Oct 6, 2023

LGTM! Let's merge this!

I'm confused. Didn't Erling fix the issue in another PR instead?

@erlingrj
Copy link
Collaborator Author

erlingrj commented Oct 6, 2023

The fixes are already merged into reactor-c together with a fix that allows you to use LET as a variable. This PR has corresponding changes in this repo

Merged via the queue into master with commit d9070da Oct 6, 2023
@erlingrj erlingrj deleted the c-remove-deprecated-schedulers branch October 6, 2023 19:59
@lhstrh lhstrh added the refactoring Code quality enhancement label Jan 23, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
refactoring Code quality enhancement
Projects
None yet
3 participants