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

Fix #2592, Yield cpu to other tasks in SB Perf Test #2593

Merged
merged 3 commits into from
Aug 29, 2024

Conversation

pepepr08
Copy link
Contributor

@pepepr08 pepepr08 commented Aug 15, 2024

Depends on #2591 and #2996

Checklist (Please check before submitting)

Describe the contribution

Testing performed
Steps taken to test the contribution:

  1. Ran functional test using RTEMS on MUSTANG processor card

Expected behavior changes
SB performance tests runs to completion

System(s) tested on

  • Hardware: MUSTANG Proc card
  • OS: RTEMS 5
  • Versions: latest on main as of today

Additional context
Add any other context about the contribution here.

Third party code
If included, identify any third party code and provide text file of license

Contributor Info - All information REQUIRED for consideration of pull request
Jose F Martinez Pedraza / GSFC 582

@pepepr08 pepepr08 added the CCB:Ready Ready for discussion at the Configuration Control Board (CCB) label Aug 15, 2024
@@ -393,7 +393,7 @@
BulkCmd.XmitFinished = true;
}

void UT_TelemtryTransmitterTask(void)
void UT_TelemetryTransmitterTask(void)

Check notice

Code scanning / CodeQL

Long function without assertion Note test

All functions of more than 10 lines should have at least one assertion.
@pepepr08 pepepr08 marked this pull request as draft August 15, 2024 18:26
@pepepr08
Copy link
Contributor Author

pepepr08 commented Aug 16, 2024

Updated code to use new strategy. We now yield the cpu to the other task by doing a OS_TaskDelay(0). This slows downs the total messages per second sent, but solves the issue where one transmit task hogs the cpu causing the other task to timeout and exit.

Results when running on MUSTANG Processor card:
2 Tasks SB Perf Test:
Without task yield: sb_performance_test.c:348 - Message Rate: 2242.8 messages/sec
With task yield: sb_performance_test.c:354 - Message Rate: 1911.1 messages/sec
with task yield(1000):sb_performance_test.c:365 - Message Rate: 2116.5 messages/sec

4 Tasks SB Perf Test:
Without task yield: sb_performance_test.c:578 - Message Rate: 1293.2 messages/sec
With task yield: sb_performance_test.c:578 - Message Rate: 1225.2 messages/sec
with task yield(1000): sb_performance_test.c:597 - Message Rate: 1255.7 messages/sec

@pepepr08 pepepr08 marked this pull request as ready for review August 22, 2024 18:13
@pepepr08 pepepr08 changed the title Fix #2592, Update timeout on SB Perf Test Fix #2592, Yield cpu to other tasks in SB Perf Test Aug 26, 2024
This avoids the timeout on SB receives for the receiver tasks
@dzbaker dzbaker added CCB:Approved Indicates code review and approval by community CCB and removed CCB:Ready Ready for discussion at the Configuration Control Board (CCB) labels Aug 29, 2024
dzbaker added a commit to nasa/cFS that referenced this pull request Aug 29, 2024
*Combines:*

cFE equuleus-rc1+dev195
**Includes:**

*cFE*
- nasa/cFE#2596
- nasa/cFE#2593

Co-authored by: Jose Martinez Pedraza <[email protected]>
@dzbaker dzbaker merged commit fed426f into nasa:main Aug 29, 2024
21 checks passed
dzbaker added a commit to nasa/cFS that referenced this pull request Aug 29, 2024
*Combines:*

cFE equuleus-rc1+dev195
**Includes:**

*cFE*
- nasa/cFE#2596
- nasa/cFE#2593

Co-authored by: Jose Martinez Pedraza <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CCB:Approved Indicates code review and approval by community CCB
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Functional tests get stuck at SB Performance test
2 participants