-
Notifications
You must be signed in to change notification settings - Fork 3k
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
Runtime dynamic memory tracing #2487
Conversation
6796d6d
to
8259735
Compare
I force-pushed a refactor of the previous commit, which should make it easier to integrate with #2442. The functionality didn't change. |
switch(op) { | ||
case MBED_MEM_TRACE_MALLOC: | ||
temp_s1 = va_arg(va, size_t); | ||
printf(MBED_MEM_DEFAULT_TRACER_PREFIX "m:%p;%p-%u\n", res, caller, temp_s1); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
could this use mbed-trace as default .. :) application can then protect prints because printf is not thread safe,,,,,
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Interesting point, thank you. I've never used mbed-trace myself, but I'll take a look at it and I'll make the necessary changes.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
+1 for standardizing tracing. Although isn't malloc already not thread-safe?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
true, malloc is not thread either i think.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
After looking at mbed-trace, I'm a bit hesitant to use it here instead of printf
. It looks like a very nice tracing library, but that's the problem: it's a library that adds to the flash size, has its own needs in terms of memory allocation and its own configuration. printf
looks to be a good default solution, with minimal impact on setup and flash size.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
could be,, anyway we probably want to use trace library for this for all our test apps we have ;) ..
sounds much better approach :) i would like to try this.. |
CC: @tommikas @kjbracey-arm @SeppoTakalo |
* Public interface | ||
*****************************************************************************/ | ||
|
||
void mbed_mem_trace_setup(uint8_t mask, mbed_mem_trace_cb_t cb) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
do we really need to select which of allocation trace we track? I think it is enough "all or nothing" . if we track mallocs we cannot calculate summary without free and realloc tracks as well. I'm fine with this also, but like most simplified solution which covers 99.9% of use cases... of course mask-bit check doesnt need much ticks, but because allocation is quite low level function it should be as fast as possible and couple extra ticks might causes some strange issues..
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
While the mask is not required, it might be useful in some cases. Also, if a couple of ticks might cause some strange issues, my guess is that something is quite wrong with the rest of your program 😄
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
thats true, it shouldnt cause any issue, but you never know 🤔
Few notes but LGTM 👍
I'd have to agree, this hooks based on compile time option so why not also just enable by default or allow the tracing type to be config as well. Seems right now you need to add a |
I agree with this also, enable all by default so there is no require to call mbed_mem_trace_setup at all if application doesn't want to. |
void* mbed_mem_trace_malloc(void *res, size_t size) { | ||
if (mem_trace_cb && (mem_trace_mask & MBED_MEM_TRACE_MALLOC)) { | ||
if (core_util_atomic_incr_u8(&trace_level, 1) == 1) { | ||
mem_trace_cb(MBED_MEM_TRACE_MALLOC, res, MBED_CALLER_ADDR(), size); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
does this correctly show the caller address? Especially if debug is turned on, I would imagine this returns and address inside __wrap__malloc_r, which would not be very helpful.
@sg-, sorry, I don't understand from your comment what's the actual issue here. Should we not use
Because people won't like to have all their allocation calls hooked by default if they don't care about tracing the memory usage. See @jupe's comments above about optimizing this and cycle counts (I don't agree with them 100%, but it seems like there's a case for performance optimization in this area). EDIT: by looking at the code, it seems like the memory allocation functions are wrapped by default anyway, so we can simplify this a bit.
I can add configuration options for tracing, sure. I'll do that today. |
The problem is with binary SDK builds. If you want to proide this feature to the binary SDK users, you'll also want to enable it, thus defining |
The latest commit implements a few things requested in this PR:
|
Added tests (will probably fail since the trace macro is not yet enabled). |
how that test required flag should be defined? I think that trace should not be enabled by default,, only for this test,, |
Ideally, the test would have its own |
does it means that test will fail as long as that feature is not there? |
I think @bridadan can help with that :) |
just wondering why test builds are handled different way than normal applications if it doesn't support mbed_app.json file,,,? |
This is something that deserves an issue of its own. I thought I saw one, but I can't find it anymore. Still looking for it. |
This commit adds a dynamic memory tracer that calls a callback whenever one of the basic memory allocation functions (malloc, realloc, calloc, free) is called. The operation of the tracer is guarded by the 'MBED_MEM_TRACING_ENABLED` macro. Infinite recursion during tracing is guarded by using atomic increment/decrement primitives on the `trace_level` variable. Thanks to @c1728p9 and @Heky for their help and suggestions.
Without this in place, traces might be lost if a another thread interrupts a memory function at the right time.
b8acc65
to
8b908ab
Compare
/morph test |
@mbed-bot: TEST HOST_OSES=ALL |
[Build 843] |
Result: SUCCESSYour command has finished executing! Here's what you wrote!
Outputmbed Build Number: 724 All builds and test passed! |
Release mbed-os-5.1.4 Changes: New Targets: 2504: [Disco_F769NI] adding new target [#2504] 2654: DELTA_DFBM_NQ620 platform porting [#2654] 2615: [MTM_MTCONNECT04S] Added support for MTM_MTCONNECT04S [#2615] 2548: Nucleof303ze [#2548] Fixes: 2678: Fixing NCS36510 compile on Linux #2678 2657: [MAX326xx] Removed echoing of characters and carriage return. #2657 2651: Use lp_timer to count time in the deepsleep tests #2651 2645: NUCLEO_F446ZE - Enable mbed5 release version #2645 2643: Fix thread self termination #2643 2634: Updated USBHost for library changes #2634 2633: Updated USBDevice to use Callback #2633 2630: Test names not dependent on disk location of root #2630 2624: CFSTORE Bugfix for realloc() moving KV area and cfstore_file_t data structures not being updated correctly #2624 2623: DISCO_L476VG - Add Serial Flow Control pins + add SERIAL_FC macro #2623 2617: STM32F2xx - Enable Serial Flow Control #2617 2613: Correctly providing directories to build_apis #2613 2607: Fix uvisor memory tracing #2607 2604: Tools - Fix fill section size variation #2604 2601: Adding ON Semiconductor copyright notice to source and header files. #2601 2597: [HAL] Fixed "intrinsic is deprecated" warnings #2597 2596: [HAL] Improve memory tracer #2596 2594: Fix TCPServer constructor #2594 2593: Add app config command line switch for test and make #2593 2589: [NUC472] Fix heap configuration error with armcc #2589 2588: Timing tests drift refactor #2588 2587: add PTEx pins as option for SPI on Hexiwear - for SD Card Interface #2587 2584: Set size of callback irq array to IrqCnt #2584 2583: github issue and PR templates #2583 2582: [GCC_CR] fix runtime hang for baremetal build #2582 2580: lwip - Add check for previously-bound socket #2580 2579: lwip - Fix handling of max sockets in socket_accept #2579 2578: Fix double free in NanostackInterface #2578 2576: Add smoke test that builds example programs with mbed-cli #2576 2575: tools-config! - Allow an empty or mal-formed config to be passed to the config system #2575 2562: Fix GCC lazy init race condition and add test #2562 2559: [utest]: Allow the linker to remove any part of utest if not used #2559 2545: Added define guards for SEQUENTIAL_FLASH_JOURNAL_MAX_LOGGED_BLOBS so #2545 2538: STM32F4xx - Add support of ADC internal channels (Temp, VRef, VBat) #2538 2521: [NUCLEO_F207ZG] Add MBED5 capability #2521 2514: Updated FlexCan and SAI SDK drivers #2514 2487: Runtime dynamic memory tracing #2487 2442: Malloc heap info #2442 2419: [STM32F1] Add asynchronous serial #2419 2393: [tools] Prevent trace-backs from incomplete args #2393 2245: Refactor export subsystem #2245 2130: stm32 : reduce number of device.h files #2130
Can this be enabled from "mbed_app.json"? if so, how? |
Thanks |
…..90788a291b 90788a291b Remove unnecessary files from release 0717432 Merge remote-tracking branch 'origin/release_internal' into release_external f68126b Adaptation layer MCPS confirmation handle update e483a07 Added OFDM configurations and FEC in RF config structure (ARMmbed#2513) b88abfa BUG fix: Fixed broken Brodcast MAC overflow handling 9cad478 Random early detection congestion API update 00aed73 Modified the Wi-SUN stack Latency estimates a bit slower 6b83d82 Remove periodic PAN version increase from Wi-SUN border router ef670e2 Integrated ReD congestion packet drop to Wi-SUN bootstrap interface. b956d9e Revert "Improved transmission in high traffic (ARMmbed#2511)" (ARMmbed#2512) 01749c2 Improved transmission in high traffic (ARMmbed#2511) 3158e96 Adaption layer queue trace update 5a32f4a Update changelog, random_early_detection_congestion_check nameupdate and minor comment fix. b818f12 Extented network status for support dropped tx congestion packet. 11c0763 Added new service Random early detection f2c358d Optimized medium NWK MPL parameters to 40 second multicast interval (ARMmbed#2508) c013bc7 Added traces to EAPOL TX failure c29ee94 Changed TLS return value to int32_t 501a2c8 Added trace for mbed TLS errors 9d7cd22 Updated change log 1290225 Corrected radius message memory allocation 7b1c596 Removed trace print's efb8393 Adaptation layer MCPS confirmation handle update ac1025e Bug Fix: Accept only next possible BSI for detect BR reboot and drop unkown's. 58f0e56 Updated change log 102e525 Nanostack now indicates connection down on RPL local repair start 395791d FHSS WS: Do not allow broadcast TX on unicast channel (ARMmbed#2501) 72f8ecb Updated changelog.md 2376208 Activated higher priority by traffic class CS6 for NS/NA and RPL, EAPOL/ DHCP Relay messages. afbe906 Adaptation layer update 13fb2bf Update CHANGELOG.md af81c48 DIO init TX filter update 13a872c Fix typos in github template (ARMmbed#2498) 1af20e1 Initial version of CHANGELOG (ARMmbed#2497) d9874ed Feature update: Improved MAC TX queue purge 6926442 Wi-SUN Aro registration temporary address registation bug fix. d3170ed Removed generic event and wrong trace info. 0db3486 Removed trace from place which is normal and not needed a080f18 Added debug tarce for dropped unsecured and MPL packets. 51cd564 Wi-SUN NS probe update: 579f756 Adaptation layer: Do not push CCA failed packet back to MAC (Wi-SUN) (ARMmbed#2487) git-subtree-dir: features/nanostack/sal-stack-nanostack git-subtree-split: 90788a291b87a5ad4cee45334402b4d86169fd3e
…..35b95da 35b95da Remove unnecessary files from release 0717432 Merge remote-tracking branch 'origin/release_internal' into release_external f68126b Adaptation layer MCPS confirmation handle update e483a07 Added OFDM configurations and FEC in RF config structure (ARMmbed#2513) b88abfa BUG fix: Fixed broken Brodcast MAC overflow handling 9cad478 Random early detection congestion API update 00aed73 Modified the Wi-SUN stack Latency estimates a bit slower 6b83d82 Remove periodic PAN version increase from Wi-SUN border router ef670e2 Integrated ReD congestion packet drop to Wi-SUN bootstrap interface. b956d9e Revert "Improved transmission in high traffic (ARMmbed#2511)" (ARMmbed#2512) 01749c2 Improved transmission in high traffic (ARMmbed#2511) 3158e96 Adaption layer queue trace update 5a32f4a Update changelog, random_early_detection_congestion_check nameupdate and minor comment fix. b818f12 Extented network status for support dropped tx congestion packet. 11c0763 Added new service Random early detection f2c358d Optimized medium NWK MPL parameters to 40 second multicast interval (ARMmbed#2508) c013bc7 Added traces to EAPOL TX failure c29ee94 Changed TLS return value to int32_t 501a2c8 Added trace for mbed TLS errors 9d7cd22 Updated change log 1290225 Corrected radius message memory allocation 7b1c596 Removed trace print's efb8393 Adaptation layer MCPS confirmation handle update ac1025e Bug Fix: Accept only next possible BSI for detect BR reboot and drop unkown's. 58f0e56 Updated change log 102e525 Nanostack now indicates connection down on RPL local repair start 395791d FHSS WS: Do not allow broadcast TX on unicast channel (ARMmbed#2501) 72f8ecb Updated changelog.md 2376208 Activated higher priority by traffic class CS6 for NS/NA and RPL, EAPOL/ DHCP Relay messages. afbe906 Adaptation layer update 13fb2bf Update CHANGELOG.md af81c48 DIO init TX filter update 13a872c Fix typos in github template (ARMmbed#2498) 1af20e1 Initial version of CHANGELOG (ARMmbed#2497) d9874ed Feature update: Improved MAC TX queue purge 6926442 Wi-SUN Aro registration temporary address registation bug fix. d3170ed Removed generic event and wrong trace info. 0db3486 Removed trace from place which is normal and not needed a080f18 Added debug tarce for dropped unsecured and MPL packets. 51cd564 Wi-SUN NS probe update: 579f756 Adaptation layer: Do not push CCA failed packet back to MAC (Wi-SUN) (ARMmbed#2487) git-subtree-dir: features/nanostack/sal-stack-nanostack git-subtree-split: 35b95da
…15ae9a..3183d87 3183d87 Merge branch 'release_internal' into release_external 9e27a77 Disabled BR IID verify from DODAG ID 33ac791 Merge pull request ARMmbed#2548 from PelionIoT/sync_with_mbed_os 6f8b282 compile out trace when not available 825373d Add SPDX license identifier to Arm files 3ec3bc6 fixed warnings: static method defined but not used ee34352 Check if RX channel needs to be updated when RX slot detected (ARMmbed#2540) d59dc5d Fix doxygen 1.8.17 warnings (ARMmbed#2546) 1e0beb3 Update unit tests to support Ubuntu 2020_04 LTS (ARMmbed#2545) b9b2ffd Fixed FHSS get retry period (ARMmbed#2543) a0bf6ae Check if RX channel needs to be updated after broadcast received (ARMmbed#2539) fde325e Wi-SUN Neighbour ARO registration failure handling update: 1e1f9c6 RPL dio Handler update: 0421502 Asynch message advertiment enable added to DAO done when disabled. 0374f74 Corrected memory leak on key storage allocation on low memory situation 23c2f7e Disable ASYNCH messages at enter Local repair state. c1df6b0 Added Poison_count check for First DIO time blocker. 944f934 Added channel mask size to FHSS configuration (ARMmbed#2536) 20e79e0 RPL Local repair disable clear advertised_dodag_membership_since_last_repair state 8a46380 Fix doxygen comments (ARMmbed#2534) fe06236 MAC ACK RX guarantee update 2388a80 MAC layer send ack allways when it requirement's 29b387b RPL dao dynamic timeout 00bbd02 Don't allow TX slot length go below allowed minimum (ARMmbed#2528) 8333faa Out of memory improvement to remove packets from routing 0a12aeb Support channel plan IDs 1, 2 and 5 with NA and BZ bands (ARMmbed#2526) ee4333d Wi-SUN Timing configuration is selected based on network size and data rate a5b2a26 WS: API to set PHY mode and Channel plan IDs as defined by FAN 1.1 (ARMmbed#2520) b86a044 Update nanostack v12.7.0 changelog (ARMmbed#2525) 35b95da Remove unnecessary files from release 0717432 Merge remote-tracking branch 'origin/release_internal' into release_external f68126b Adaptation layer MCPS confirmation handle update e483a07 Added OFDM configurations and FEC in RF config structure (ARMmbed#2513) b88abfa BUG fix: Fixed broken Brodcast MAC overflow handling 9cad478 Random early detection congestion API update 00aed73 Modified the Wi-SUN stack Latency estimates a bit slower 6b83d82 Remove periodic PAN version increase from Wi-SUN border router ef670e2 Integrated ReD congestion packet drop to Wi-SUN bootstrap interface. b956d9e Revert "Improved transmission in high traffic (ARMmbed#2511)" (ARMmbed#2512) 01749c2 Improved transmission in high traffic (ARMmbed#2511) 3158e96 Adaption layer queue trace update 5a32f4a Update changelog, random_early_detection_congestion_check nameupdate and minor comment fix. b818f12 Extented network status for support dropped tx congestion packet. 11c0763 Added new service Random early detection f2c358d Optimized medium NWK MPL parameters to 40 second multicast interval (ARMmbed#2508) c013bc7 Added traces to EAPOL TX failure c29ee94 Changed TLS return value to int32_t 501a2c8 Added trace for mbed TLS errors 9d7cd22 Updated change log 1290225 Corrected radius message memory allocation 7b1c596 Removed trace print's efb8393 Adaptation layer MCPS confirmation handle update ac1025e Bug Fix: Accept only next possible BSI for detect BR reboot and drop unkown's. 58f0e56 Updated change log 102e525 Nanostack now indicates connection down on RPL local repair start 395791d FHSS WS: Do not allow broadcast TX on unicast channel (ARMmbed#2501) 72f8ecb Updated changelog.md 2376208 Activated higher priority by traffic class CS6 for NS/NA and RPL, EAPOL/ DHCP Relay messages. afbe906 Adaptation layer update 13fb2bf Update CHANGELOG.md af81c48 DIO init TX filter update 13a872c Fix typos in github template (ARMmbed#2498) 1af20e1 Initial version of CHANGELOG (ARMmbed#2497) d9874ed Feature update: Improved MAC TX queue purge 6926442 Wi-SUN Aro registration temporary address registation bug fix. d3170ed Removed generic event and wrong trace info. 0db3486 Removed trace from place which is normal and not needed a080f18 Added debug tarce for dropped unsecured and MPL packets. 51cd564 Wi-SUN NS probe update: 579f756 Adaptation layer: Do not push CCA failed packet back to MAC (Wi-SUN) (ARMmbed#2487) git-subtree-dir: connectivity/nanostack/sal-stack-nanostack git-subtree-split: 3183d87
…..3183d87 3183d87 Merge branch 'release_internal' into release_external 9e27a77 Disabled BR IID verify from DODAG ID 33ac791 Merge pull request ARMmbed#2548 from PelionIoT/sync_with_mbed_os 6f8b282 compile out trace when not available 825373d Add SPDX license identifier to Arm files 3ec3bc6 fixed warnings: static method defined but not used ee34352 Check if RX channel needs to be updated when RX slot detected (ARMmbed#2540) d59dc5d Fix doxygen 1.8.17 warnings (ARMmbed#2546) 1e0beb3 Update unit tests to support Ubuntu 2020_04 LTS (ARMmbed#2545) b9b2ffd Fixed FHSS get retry period (ARMmbed#2543) a0bf6ae Check if RX channel needs to be updated after broadcast received (ARMmbed#2539) fde325e Wi-SUN Neighbour ARO registration failure handling update: 1e1f9c6 RPL dio Handler update: 0421502 Asynch message advertiment enable added to DAO done when disabled. 0374f74 Corrected memory leak on key storage allocation on low memory situation 23c2f7e Disable ASYNCH messages at enter Local repair state. c1df6b0 Added Poison_count check for First DIO time blocker. 944f934 Added channel mask size to FHSS configuration (ARMmbed#2536) 20e79e0 RPL Local repair disable clear advertised_dodag_membership_since_last_repair state 8a46380 Fix doxygen comments (ARMmbed#2534) fe06236 MAC ACK RX guarantee update 2388a80 MAC layer send ack allways when it requirement's 29b387b RPL dao dynamic timeout 00bbd02 Don't allow TX slot length go below allowed minimum (ARMmbed#2528) 8333faa Out of memory improvement to remove packets from routing 0a12aeb Support channel plan IDs 1, 2 and 5 with NA and BZ bands (ARMmbed#2526) ee4333d Wi-SUN Timing configuration is selected based on network size and data rate a5b2a26 WS: API to set PHY mode and Channel plan IDs as defined by FAN 1.1 (ARMmbed#2520) b86a044 Update nanostack v12.7.0 changelog (ARMmbed#2525) 35b95da Remove unnecessary files from release 0717432 Merge remote-tracking branch 'origin/release_internal' into release_external f68126b Adaptation layer MCPS confirmation handle update e483a07 Added OFDM configurations and FEC in RF config structure (ARMmbed#2513) b88abfa BUG fix: Fixed broken Brodcast MAC overflow handling 9cad478 Random early detection congestion API update 00aed73 Modified the Wi-SUN stack Latency estimates a bit slower 6b83d82 Remove periodic PAN version increase from Wi-SUN border router ef670e2 Integrated ReD congestion packet drop to Wi-SUN bootstrap interface. b956d9e Revert "Improved transmission in high traffic (ARMmbed#2511)" (ARMmbed#2512) 01749c2 Improved transmission in high traffic (ARMmbed#2511) 3158e96 Adaption layer queue trace update 5a32f4a Update changelog, random_early_detection_congestion_check nameupdate and minor comment fix. b818f12 Extented network status for support dropped tx congestion packet. 11c0763 Added new service Random early detection f2c358d Optimized medium NWK MPL parameters to 40 second multicast interval (ARMmbed#2508) c013bc7 Added traces to EAPOL TX failure c29ee94 Changed TLS return value to int32_t 501a2c8 Added trace for mbed TLS errors 9d7cd22 Updated change log 1290225 Corrected radius message memory allocation 7b1c596 Removed trace print's efb8393 Adaptation layer MCPS confirmation handle update ac1025e Bug Fix: Accept only next possible BSI for detect BR reboot and drop unkown's. 58f0e56 Updated change log 102e525 Nanostack now indicates connection down on RPL local repair start 395791d FHSS WS: Do not allow broadcast TX on unicast channel (ARMmbed#2501) 72f8ecb Updated changelog.md 2376208 Activated higher priority by traffic class CS6 for NS/NA and RPL, EAPOL/ DHCP Relay messages. afbe906 Adaptation layer update 13fb2bf Update CHANGELOG.md af81c48 DIO init TX filter update 13a872c Fix typos in github template (ARMmbed#2498) 1af20e1 Initial version of CHANGELOG (ARMmbed#2497) d9874ed Feature update: Improved MAC TX queue purge 6926442 Wi-SUN Aro registration temporary address registation bug fix. d3170ed Removed generic event and wrong trace info. 0db3486 Removed trace from place which is normal and not needed a080f18 Added debug tarce for dropped unsecured and MPL packets. 51cd564 Wi-SUN NS probe update: 579f756 Adaptation layer: Do not push CCA failed packet back to MAC (Wi-SUN) (ARMmbed#2487) 715ae9a Merge remote-tracking branch 'origin/release_internal' into release_external 42c9807 Nanostak trace level configuration (ARMmbed#2489) 6f52171 Bug fix: socket reference count made 16-bit (ARMmbed#2490) f51669a Bug fix: Do not print UFSI drift when fixed channel is used (ARMmbed#2488) 18fa048 RPL DAO timeout update: 660e178 Clear debug traces. cbac0bb DIO init send block for node fed5d1c Created different MPL configuration based on network size 7ad7e81 Wi-SUN recovery and BR BSI update: d207f4d Merge branch 'release_internal' into release_external d166c89 MPL: buffered max limit increased to 8k (ARMmbed#2482) 0f6666a Fixed Unit test's 1ff9b1d LLC drop a packet if FHSS shedule is not configured. 7cecc28 Fixed missing asynch trigle setup stop at if down process 7a8b2bf Wi-SUN fhss API default value setting fixes 164a370 Fixed coverity issues from management API 8b5b433 Corrected out of bounds access coverity warning (ARMmbed#2475) 4ffe6a1 Multicast forwarding is separated from the routing flag 30f4315 Wi-SUN discovery staten enter upxdate 083b84e Iotthd 4308 (ARMmbed#2473) fcc33d5 Removed time increment from NVM time read function on interface up 9c8e3af fhss_tx_handle update 5491a6b Fixed UFSI update print function (ARMmbed#2470) 86f64c5 FHSS WS: Check if BC schedule is stopped before computing timeout delay (ARMmbed#2469) a0b112a Corrected defects and coding style 2f4678a Corrected trace macro 5e96751 Distributed key storage NVM writes to longer time period 9b3891f FHSS WS: handle blocked interrupts (ARMmbed#2466) a792e83 Added validation at MAC ack buffer handler 2a465b2 DNS configuration lifetime validation git-subtree-dir: features/nanostack/sal-stack-nanostack git-subtree-split: 3183d87
…..3183d87 3183d87 Merge branch 'release_internal' into release_external 9e27a77 Disabled BR IID verify from DODAG ID 33ac791 Merge pull request ARMmbed#2548 from PelionIoT/sync_with_mbed_os 6f8b282 compile out trace when not available 825373d Add SPDX license identifier to Arm files 3ec3bc6 fixed warnings: static method defined but not used ee34352 Check if RX channel needs to be updated when RX slot detected (ARMmbed#2540) d59dc5d Fix doxygen 1.8.17 warnings (ARMmbed#2546) 1e0beb3 Update unit tests to support Ubuntu 2020_04 LTS (ARMmbed#2545) b9b2ffd Fixed FHSS get retry period (ARMmbed#2543) a0bf6ae Check if RX channel needs to be updated after broadcast received (ARMmbed#2539) fde325e Wi-SUN Neighbour ARO registration failure handling update: 1e1f9c6 RPL dio Handler update: 0421502 Asynch message advertiment enable added to DAO done when disabled. 0374f74 Corrected memory leak on key storage allocation on low memory situation 23c2f7e Disable ASYNCH messages at enter Local repair state. c1df6b0 Added Poison_count check for First DIO time blocker. 944f934 Added channel mask size to FHSS configuration (ARMmbed#2536) 20e79e0 RPL Local repair disable clear advertised_dodag_membership_since_last_repair state 8a46380 Fix doxygen comments (ARMmbed#2534) fe06236 MAC ACK RX guarantee update 2388a80 MAC layer send ack allways when it requirement's 29b387b RPL dao dynamic timeout 00bbd02 Don't allow TX slot length go below allowed minimum (ARMmbed#2528) 8333faa Out of memory improvement to remove packets from routing 0a12aeb Support channel plan IDs 1, 2 and 5 with NA and BZ bands (ARMmbed#2526) ee4333d Wi-SUN Timing configuration is selected based on network size and data rate a5b2a26 WS: API to set PHY mode and Channel plan IDs as defined by FAN 1.1 (ARMmbed#2520) b86a044 Update nanostack v12.7.0 changelog (ARMmbed#2525) 35b95da Remove unnecessary files from release 0717432 Merge remote-tracking branch 'origin/release_internal' into release_external f68126b Adaptation layer MCPS confirmation handle update e483a07 Added OFDM configurations and FEC in RF config structure (ARMmbed#2513) b88abfa BUG fix: Fixed broken Brodcast MAC overflow handling 9cad478 Random early detection congestion API update 00aed73 Modified the Wi-SUN stack Latency estimates a bit slower 6b83d82 Remove periodic PAN version increase from Wi-SUN border router ef670e2 Integrated ReD congestion packet drop to Wi-SUN bootstrap interface. b956d9e Revert "Improved transmission in high traffic (ARMmbed#2511)" (ARMmbed#2512) 01749c2 Improved transmission in high traffic (ARMmbed#2511) 3158e96 Adaption layer queue trace update 5a32f4a Update changelog, random_early_detection_congestion_check nameupdate and minor comment fix. b818f12 Extented network status for support dropped tx congestion packet. 11c0763 Added new service Random early detection f2c358d Optimized medium NWK MPL parameters to 40 second multicast interval (ARMmbed#2508) c013bc7 Added traces to EAPOL TX failure c29ee94 Changed TLS return value to int32_t 501a2c8 Added trace for mbed TLS errors 9d7cd22 Updated change log 1290225 Corrected radius message memory allocation 7b1c596 Removed trace print's efb8393 Adaptation layer MCPS confirmation handle update ac1025e Bug Fix: Accept only next possible BSI for detect BR reboot and drop unkown's. 58f0e56 Updated change log 102e525 Nanostack now indicates connection down on RPL local repair start 395791d FHSS WS: Do not allow broadcast TX on unicast channel (ARMmbed#2501) 72f8ecb Updated changelog.md 2376208 Activated higher priority by traffic class CS6 for NS/NA and RPL, EAPOL/ DHCP Relay messages. afbe906 Adaptation layer update 13fb2bf Update CHANGELOG.md af81c48 DIO init TX filter update 13a872c Fix typos in github template (ARMmbed#2498) 1af20e1 Initial version of CHANGELOG (ARMmbed#2497) d9874ed Feature update: Improved MAC TX queue purge 6926442 Wi-SUN Aro registration temporary address registation bug fix. d3170ed Removed generic event and wrong trace info. 0db3486 Removed trace from place which is normal and not needed a080f18 Added debug tarce for dropped unsecured and MPL packets. 51cd564 Wi-SUN NS probe update: 579f756 Adaptation layer: Do not push CCA failed packet back to MAC (Wi-SUN) (ARMmbed#2487) 715ae9a Merge remote-tracking branch 'origin/release_internal' into release_external 42c9807 Nanostak trace level configuration (ARMmbed#2489) 6f52171 Bug fix: socket reference count made 16-bit (ARMmbed#2490) f51669a Bug fix: Do not print UFSI drift when fixed channel is used (ARMmbed#2488) 18fa048 RPL DAO timeout update: 660e178 Clear debug traces. cbac0bb DIO init send block for node fed5d1c Created different MPL configuration based on network size 7ad7e81 Wi-SUN recovery and BR BSI update: d207f4d Merge branch 'release_internal' into release_external d166c89 MPL: buffered max limit increased to 8k (ARMmbed#2482) 0f6666a Fixed Unit test's 1ff9b1d LLC drop a packet if FHSS shedule is not configured. 7cecc28 Fixed missing asynch trigle setup stop at if down process 7a8b2bf Wi-SUN fhss API default value setting fixes 164a370 Fixed coverity issues from management API 8b5b433 Corrected out of bounds access coverity warning (ARMmbed#2475) 4ffe6a1 Multicast forwarding is separated from the routing flag 30f4315 Wi-SUN discovery staten enter upxdate 083b84e Iotthd 4308 (ARMmbed#2473) fcc33d5 Removed time increment from NVM time read function on interface up 9c8e3af fhss_tx_handle update 5491a6b Fixed UFSI update print function (ARMmbed#2470) 86f64c5 FHSS WS: Check if BC schedule is stopped before computing timeout delay (ARMmbed#2469) a0b112a Corrected defects and coding style 2f4678a Corrected trace macro 5e96751 Distributed key storage NVM writes to longer time period 9b3891f FHSS WS: handle blocked interrupts (ARMmbed#2466) a792e83 Added validation at MAC ack buffer handler 2a465b2 DNS configuration lifetime validation git-subtree-dir: features/nanostack/sal-stack-nanostack git-subtree-split: 3183d87
Changes: New Targets: #2504: [Disco_F769NI] adding new target [ARMmbed/mbed-os#2504] #2654: DELTA_DFBM_NQ620 platform porting [ARMmbed/mbed-os#2654] #2615: [MTM_MTCONNECT04S] Added support for MTM_MTCONNECT04S [ARMmbed/mbed-os#2615] #2548: Nucleof303ze [ARMmbed/mbed-os#2548] Fixes: #2657: [MAX326xx] Removed echoing of characters and carriage return. [ARMmbed/mbed-os#2657] #2651: Use lp_timer to count time in the deepsleep tests [ARMmbed/mbed-os#2651] #2643: Fix thread self termination [ARMmbed/mbed-os#2643] #2623: DISCO_L476VG - Add Serial Flow Control pins + add SERIAL_FC macro [ARMmbed/mbed-os#2623] #2617: STM32F2xx - Enable Serial Flow Control [ARMmbed/mbed-os#2617] #2601: Adding ON Semiconductor copyright notice to source and header files. [ARMmbed/mbed-os#2601] #2597: [HAL] Fixed "intrinsic is deprecated" warnings [ARMmbed/mbed-os#2597] #2589: [NUC472] Fix heap configuration error with armcc [ARMmbed/mbed-os#2589] #2587: add PTEx pins as option for SPI on Hexiwear - for SD Card Interface [ARMmbed/mbed-os#2587] #2584: Set size of callback irq array to IrqCnt [ARMmbed/mbed-os#2584] #2582: [GCC_CR] fix runtime hang for baremetal build [ARMmbed/mbed-os#2582] #2562: Fix GCC lazy init race condition and add test [ARMmbed/mbed-os#2562] #2538: STM32F4xx - Add support of ADC internal channels (Temp, VRef, VBat) [ARMmbed/mbed-os#2538] #2514: Updated FlexCan and SAI SDK drivers [ARMmbed/mbed-os#2514] #2442: Malloc heap info [ARMmbed/mbed-os#2442] #2419: [STM32F1] Add asynchronous serial [ARMmbed/mbed-os#2419] #2130: stm32 : reduce number of device.h files [ARMmbed/mbed-os#2130] #2678: Fixing NCS36510 compile on Linux [ARMmbed/mbed-os#2678] #2607: Fix uvisor memory tracing [ARMmbed/mbed-os#2607] #2596: [HAL] Improve memory tracer [ARMmbed/mbed-os#2596] #2487: Runtime dynamic memory tracing [ARMmbed/mbed-os#2487]
This commit adds a dynamic memory tracer that calls a callback whenever
one of the basic memory allocation functions (malloc, realloc, calloc,
free) is called. The operation of the tracer is guarded by the
MBED_MEM_TRACING_ENABLED
macro.