-
Notifications
You must be signed in to change notification settings - Fork 203
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
Comments
Imported from trac issue 108. Created by sstrege on 2015-08-28T16:09:54, last modified: 2019-03-01T15:27:58 |
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. |
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 |
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. |
Note - standby on this until #928 is implemented (for SB writes), since they are being refactored. |
Removed dependency label, this can be resolved now. |
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
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
Fix #139, Do file writes in background
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.
The text was updated successfully, but these errors were encountered: