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

ATCmdParser: Fix OOB handling performance-wise #8598

Merged
merged 1 commit into from Oct 31, 2018

Conversation

Projects
None yet
6 participants
@VeijoPesonen
Contributor

VeijoPesonen commented Oct 31, 2018

Description

Improve ATCmdParser performance when it comes to OOB handling.

Work done by @kjbracey-arm.

Pull request type

[ ] Fix
[X] Refactor
[ ] Target update
[ ] Functionality change
[ ] Docs update
[ ] Test update
[ ] Breaking change
@VeijoPesonen

This comment has been minimized.

Contributor

VeijoPesonen commented Oct 31, 2018

@kjbracey-arm please review - this code is taken from you.
@marcuschangarm for your information.

@kjbracey-arm

This comment has been minimized.

Contributor

kjbracey-arm commented Oct 31, 2018

Needs some description in the commit message.

If I recall/understand correctly the issue is that the process_oob check would only return immediately if no data at all on entry, or when receiving a known OOB. Any other line noise or unknown OOBs could lead to a timeout delay - read the noise or unknown OOB then timeout waiting for another line of input.

This revised version modifies the parser to recheck readable after each line end when only looking for OOBs, so it can immediate exit.

@VeijoPesonen VeijoPesonen force-pushed the VeijoPesonen:fix_atcmdparser_oob_handling branch from 1d73507 to 1ddd3c9 Oct 31, 2018

@VeijoPesonen

This comment has been minimized.

Contributor

VeijoPesonen commented Oct 31, 2018

Previous comment copied to the commit message

Fixes ATCmdParser OOB handling performance-wise
The issue is that the process_oob check would only return immediately
if no data at all on entry, or when receiving a known OOB. Any other
line noise or unknown OOBs could lead to a timeout delay - read the
noise or unknown OOB then timeout waiting for another line of input.

This revised version modifies the parser to recheck readable after each
line end when only looking for OOBs, so it can immediate exit.

@0xc0170 0xc0170 changed the title from Fixes ATCmdParser OOB handling performance-wise to ATCmdParser: Fix OOB handling performance-wise Oct 31, 2018

@0xc0170

This comment has been minimized.

Member

0xc0170 commented Oct 31, 2018

/morph build

@mbed-ci

This comment has been minimized.

mbed-ci commented Oct 31, 2018

@0xc0170

This comment has been minimized.

Member

0xc0170 commented Oct 31, 2018

[DEBUG] Errors: Error: L6200E: Symbol __asm___11_lwip_sha1_c____REV16 multiply defined (by BUILD/NUCLEO_F429ZI/ARM/mbed-os/features/lwipstack/lwip/src/netif/ppp/polarssl/lwip_sha1.o and BUILD/NUCLEO_F429ZI/ARM/mbed-os/features/lwipstack/lwip/src/netif/ppp/polarssl/lwip_md4.o).
[DEBUG] Errors: Error: L6200E: Symbol __asm___11_lwip_sha1_c____REVSH multiply defined (by BUILD/NUCLEO_F429ZI/ARM/mbed-os/features/lwipstack/lwip/src/netif/ppp/polarssl/lwip_sha1.o and BUILD/NUCLEO_F429ZI/ARM/mbed-os/features/lwipstack/lwip/src/netif/ppp/polarssl/lwip_md4.o).
[DEBUG] Errors: Error: L6200E: Symbol __asm___11_lwip_sha1_c____RRX multiply defined (by BUILD/NUCLEO_F429ZI/ARM/mbed-os/features/lwipstack/lwip/src/netif/ppp/polarssl/lwip_sha1.o and BUILD/NUCLEO_F429ZI/ARM/mbed-os/features/lwipstack/lwip/src/netif/ppp/polarssl/lwip_md4.o).

I've seen this error earlier today. Does not look related to the changes here. is script failing to clean something or what else? @cmonr @studavekar Do you recognize this one?

Restarting to confirm

/morph build

@mbed-ci

This comment has been minimized.

mbed-ci commented Oct 31, 2018

@0xc0170

This comment has been minimized.

Member

0xc0170 commented Oct 31, 2018

/morph build

@cmonr

This comment has been minimized.

Contributor

cmonr commented Oct 31, 2018

#8598 (comment)

@0xc0170 This shows up every once in a while, but we're not sure why. Restarting generally solves the issue.

@mbed-ci

This comment has been minimized.

mbed-ci commented Oct 31, 2018

Build : SUCCESS

Build number : 3519
Build artifacts/logs : http://mbed-os.s3-website-eu-west-1.amazonaws.com/?prefix=builds/8598/

Triggering tests

/morph test
/morph export-build
/morph mbed2-build

@mbed-ci

This comment has been minimized.

@mbed-ci

This comment has been minimized.

@cmonr cmonr added ready for merge and removed needs: CI labels Oct 31, 2018

@cmonr cmonr merged commit 3d09f3b into ARMmbed:master Oct 31, 2018

15 checks passed

ci-morph-build build completed
Details
ci-morph-exporter build completed
Details
ci-morph-mbed2-build build completed
Details
ci-morph-test test completed , RTOS ROM(+0 bytes) RAM(+0 bytes)
Details
continuous-integration/jenkins/pr-head This commit looks good
Details
continuous-integration/travis-ci/pr The Travis CI build passed
Details
jenkins-ci/cloud-client-test Success
Details
jenkins-ci/unittests Success
Details
travis-ci/astyle Passed, 545 files (+0 files)
Details
travis-ci/docs Local docs testing has passed
Details
travis-ci/events Passed, runtime is 10393 cycles (+168 cycles)
Details
travis-ci/gitattributestest Local gitattributestest testing has passed
Details
travis-ci/licence_check Local licence_check testing has passed
Details
travis-ci/littlefs Passed, code size is 8372B (+0.00%)
Details
travis-ci/tools-py2.7 Local tools-py2.7 testing has passed
Details

@cmonr cmonr removed the ready for merge label Oct 31, 2018

@VeijoPesonen VeijoPesonen deleted the VeijoPesonen:fix_atcmdparser_oob_handling branch Nov 1, 2018

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment