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

TBL - Dump Table Registry Data Command Can Hog CPU (GSFC DCR 23031) #139

Closed
skliper opened this issue Sep 30, 2019 · 6 comments · Fixed by #1148 or #1171
Closed

TBL - Dump Table Registry Data Command Can Hog CPU (GSFC DCR 23031) #139

skliper opened this issue Sep 30, 2019 · 6 comments · Fixed by #1148 or #1171
Assignees
Labels
bug cFE-TBL Table services
Milestone

Comments

@skliper
Copy link
Contributor

skliper commented Sep 30, 2019

The GSFC NICER FSW team discovered that it takes approximately 1 second to process the Dump Table Registry command when there are 250 RTS tables and that lower priority tasks generate various error events related to not getting an opportunity to run. Adding a platform configuration definition to insert task delays into the process loop will increase the time necessary for CFE_TBL to finish the command but will allow lower priority tasks to run while the command is being processed.

Also, creating some test code that puts performance markers around the file i/o calls within the command processor may identify where the bulk of the command process time is spent. It may be possible to reduce the command execution time by optimizing the command handler code if the bulk of the execution time is not being spent inside the file system.

@skliper skliper self-assigned this Sep 30, 2019
@skliper
Copy link
Contributor Author

skliper commented Sep 30, 2019

Imported from trac issue 108. Created by sstrege on 2015-08-28T16:09:54, last modified: 2019-03-01T15:27:58

@skliper skliper added the bug label Sep 30, 2019
@skliper
Copy link
Contributor Author

skliper commented Sep 30, 2019

Trac comment by glimes on 2016-10-18 15:07:03:

Remove my name from many tickets (where it was applied by default), so others can tell that there are tickets that need some attention.

@skliper skliper removed their assignment Sep 30, 2019
@skliper
Copy link
Contributor Author

skliper commented Oct 7, 2020

The file writing should likely be moved to a low priority child task, same for any other potentially "large" file writes: CFE_SB_SendRtgInfo, CFE_SB_SendPipeInfo, CFE_SB_SendMapInfo

@jphickey
Copy link
Contributor

jphickey commented Oct 8, 2020

These all sound like great candidates for moving into the ES background job service.

Make a generic file writer job template based on the current perf data dump, then apply it for all these file dump commands.

@skliper skliper added this to the 7.0.0 milestone Oct 8, 2020
@skliper
Copy link
Contributor Author

skliper commented Oct 13, 2020

Note - standby on this until #928 is implemented (for SB writes), since they are being refactored.

@skliper
Copy link
Contributor Author

skliper commented Jan 6, 2021

Removed dependency label, this can be resolved now.

jphickey added a commit to jphickey/cFE that referenced this issue Feb 1, 2021
Implements a generic asynchronous "file write request" facility
in the FS subsystem.  Given a metadata/control block with the file
details and writer state and appropriate callbacks,, this will
execute the file write job as part of the ES background task.

The following file requests are changed to use this facility:
- ES ER Log dump
- SB Pipe Info
- SB Message Map
- SB Route Info
- TBL Registry Dump
jphickey added a commit to jphickey/cFE that referenced this issue Feb 16, 2021
Implements a generic asynchronous "file write request" facility
in the FS subsystem.  Given a metadata/control block with the file
details and writer state and appropriate callbacks,, this will
execute the file write job as part of the ES background task.

The following file requests are changed to use this facility:
- ES ER Log dump
- SB Pipe Info
- SB Message Map
- SB Route Info
- TBL Registry Dump
astrogeco added a commit that referenced this issue Feb 17, 2021
@astrogeco astrogeco added the cFE-TBL Table services label Feb 17, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug cFE-TBL Table services
Projects
None yet
3 participants