<feed xmlns='http://www.w3.org/2005/Atom'>
<title>threadx.git/common_smp/src, branch dev</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.</subtitle>
<id>http://cgit.235523.xyz/threadx.git/atom/common_smp/src?h=dev</id>
<link rel='self' href='http://cgit.235523.xyz/threadx.git/atom/common_smp/src?h=dev'/>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/threadx.git/'/>
<updated>2026-05-26T21:17:40Z</updated>
<entry>
<title>Added win64 ports of ThreadX and ThreadX SMP (#529)</title>
<updated>2026-05-26T21:17:40Z</updated>
<author>
<name>Frédéric Desbiens</name>
<email>frederic.desbiens@eclipse-foundation.org</email>
</author>
<published>2026-05-26T21:17:40Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/threadx.git/commit/?id=2c16114a450056103bacee0a3254a57dad7e1abd'/>
<id>urn:sha1:2c16114a450056103bacee0a3254a57dad7e1abd</id>
<content type='text'>
 Windows x64 port and regression suite

 This PR adds the Windows x64 (Win64) simulation port for both the standalone
 and SMP variants of ThreadX, along with the full CMake build and test
 infrastructure needed to run the regression suite on Windows.


 New ports

 Win64 standalone (ports/win64/vs_2022): self-contained Windows simulation
 port using Win32 threading primitives as virtual cores. Includes CMake
 integration, build/test scripts, and MSVC project files.

 Win64 SMP (ports/win64_smp/vs_2022): multi-core Windows simulation port.
 Supports up to 4 virtual cores backed by Windows host threads.


 Scheduler and timer improvements

 The initial port used coarse polling and synchronous SuspendThread/ResumeThread
 pairs throughout the scheduler hot path. Several rounds of optimization reduced
 the SMP regression suite runtime from ~150 s to ~78 s (-48%), with no
 regressions:

 - Replaced scheduler polling with an event-driven wake path; switched the
   simulated timer to one-shot rearming to eliminate catch-up ticks.
 - Skip SuspendThread when _tx_thread_preempt_disable != 0 (new suspension
   type 3) -- the primary optimization, yielding up to 7.9x speedup on
   preemption-heavy tests.
 - Skip SuspendThread when a thread is spinning on the Win32 critical section
   (suspension type 4), and fix a stale-TLS bug in
   _tx_win32_critical_section_obtain that could stamp mutex_access on the
   wrong virtual core.
 - Added a 2 ms scheduler event timeout (matching the Linux SMP port) to
   prevent stalls on any missed SetEvent.
 - Enabled high-resolution waitable timers (SetWaitableTimerEx) for accurate
   100 Hz tick cadence.
 - Increased TX_WIN32_CONTENTION_PAUSE_COUNT from 64 to 256 to reduce
   SwitchToThread overhead under heavy CS contention.


 Build and test infrastructure

 - Hardened the Windows build wrapper (scripts/build_tx.ps1): invoke Ninja
   directly for Ninja build trees, fix timeout detection, add a default build
   timeout, and limit fallback replay to real timeout cases.
 - Added -Clean support to Windows test scripts to remove stale CTest state
   before each run.
 - Skip Visual Studio DevShell re-entry when the active MSVC environment
   already matches the requested architecture.
 - Fixed scripts/build_tx.sh (Linux) regression source generation: replaced
   brittle exact-string insertion with line-based matching so the interrupt
   dispatcher hook is inserted reliably for both simulator ports.


 Test suite updates

 - Introduced test/tx/regression/threadx_test_port.h with portable macros
   (TX_TEST_POINTER_WORD, TX_TEST_STORE_POINTER) for storing pointers in test
   arrays on 64-bit targets where ULONG remains 32-bit.
 - Adjusted pool-capacity and pointer-storage patterns in regression tests to
   use ALIGN_TYPE-sized slots, making the suite correct on 64-bit hosts.
 - Restored stricter event flag, sleep, and timer expectations now that
   port-level fixes make prior Windows accommodations unnecessary.
 - Tightened SMP watchdog and clean-build timeout defaults.


 Version metadata

 Updated Win32, Win64, and Win64 SMP port version strings to 6.5.1.202602.

 Co-authored-by: Copilot &lt;223556219+Copilot@users.noreply.github.com&gt;
 Co-authored-by: Codex (gpt 5.5) &lt;codex@openai.com&gt;</content>
</entry>
<entry>
<title>Updated copyright headers and version number constants (#509)</title>
<updated>2026-03-05T09:46:30Z</updated>
<author>
<name>Frédéric Desbiens</name>
<email>frederic.desbiens@eclipse-foundation.org</email>
</author>
<published>2026-03-05T09:46:30Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/threadx.git/commit/?id=c3259a216026372e3833dd8996a68f77e8595fbd'/>
<id>urn:sha1:c3259a216026372e3833dd8996a68f77e8595fbd</id>
<content type='text'>
* Updated version number constants

* Removed revision history from all files

* Added Eclipse ThreadX contributors' copyright header </content>
</entry>
<entry>
<title>Added missing check for  TX_QUEUE_MESSAGE_MAX_SIZE.</title>
<updated>2025-09-28T21:53:58Z</updated>
<author>
<name>Frédéric Desbiens</name>
<email>frederic.desbiens@eclipse-foundation.org</email>
</author>
<published>2025-09-28T21:53:58Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/threadx.git/commit/?id=b8530b59ebc1266ac2b0808e9b51e25dc656c88d'/>
<id>urn:sha1:b8530b59ebc1266ac2b0808e9b51e25dc656c88d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Update version id string.</title>
<updated>2024-01-30T00:39:18Z</updated>
<author>
<name>Bo Chen (from Dev Box)</name>
<email>boche@microsoft.com</email>
</author>
<published>2024-01-30T00:39:18Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/threadx.git/commit/?id=3e1da1f0b0973e6b833b08b10fb27c7c718835b3'/>
<id>urn:sha1:3e1da1f0b0973e6b833b08b10fb27c7c718835b3</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Update copyright.</title>
<updated>2024-01-29T05:51:15Z</updated>
<author>
<name>Bo Chen (from Dev Box)</name>
<email>boche@microsoft.com</email>
</author>
<published>2024-01-29T05:51:15Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/threadx.git/commit/?id=8276bcf71142197e09551e29f1779299fa591ec7'/>
<id>urn:sha1:8276bcf71142197e09551e29f1779299fa591ec7</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Update release version to 6.3.0 and date to 10-31-2023 (#308)</title>
<updated>2023-10-23T07:31:03Z</updated>
<author>
<name>TiejunZhou</name>
<email>50469179+TiejunMS@users.noreply.github.com</email>
</author>
<published>2023-10-23T07:31:03Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/threadx.git/commit/?id=13b700fd3ed763cedcba7dbd17b859077a01aa9c'/>
<id>urn:sha1:13b700fd3ed763cedcba7dbd17b859077a01aa9c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix MISRA issues for ThreadX SMP (#263)</title>
<updated>2023-05-18T07:57:53Z</updated>
<author>
<name>TiejunZhou</name>
<email>50469179+TiejunMS@users.noreply.github.com</email>
</author>
<published>2023-05-18T07:57:53Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/threadx.git/commit/?id=d66a519685d1842391b65e237b94a678cd6f65c3'/>
<id>urn:sha1:d66a519685d1842391b65e237b94a678cd6f65c3</id>
<content type='text'>
* Fixed MISRA2012 rule 10.4_a

The operands `pool_ptr-&gt;tx_byte_pool_fragments' and `2' have essential type categories unsigned 32-bit int and signed 8-bit int, which do not match.

* Fixed MISRA2012 rule 10.4_a

The operands `next_priority' and `TX_MAX_PRIORITIES' have essential type categories unsigned 32-bit int and signed 8-bit int, which do not match.

* Fixed MISRA2012 rule 8.3

Declaration/definition of `_tx_thread_smp_preemptable_threads_get' is inconsistent with previous declaration/definition in types and/or type qualifiers</content>
</entry>
<entry>
<title>Add random number stack filling option. (#257)</title>
<updated>2023-05-12T02:13:42Z</updated>
<author>
<name>Xiuwen Cai</name>
<email>50469933+xiuwencai@users.noreply.github.com</email>
</author>
<published>2023-05-12T02:13:42Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/threadx.git/commit/?id=6b8ece0ff28fb0160a2fdf51c09df09d587f4575'/>
<id>urn:sha1:6b8ece0ff28fb0160a2fdf51c09df09d587f4575</id>
<content type='text'>
Co-authored-by: TiejunZhou &lt;50469179+TiejunMS@users.noreply.github.com&gt;</content>
</entry>
<entry>
<title>Release 6.2.1 on 08 Mar 2023. Expand to see details.</title>
<updated>2023-03-08T08:26:22Z</updated>
<author>
<name>Tiejun Zhou</name>
<email>tizho@microsoft.com</email>
</author>
<published>2023-03-08T08:26:22Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/threadx.git/commit/?id=2aa19f3de0b6cf09bb9dca78c8a53fe337b8f0f7'/>
<id>urn:sha1:2aa19f3de0b6cf09bb9dca78c8a53fe337b8f0f7</id>
<content type='text'>
cee19603d Include tx_user.h conditionally.
e40e08007 Update owners
d69641273 Update release date and version
394aee52f Add tx_user.h to GNU port assembly files
5cca2ddd0 RISC-V 64 bit port for Microchip
e0f2c373c Link Winmm.lib that required by the high-resolution timer.
6af472a68 Update Win32 port with high resolution timer.
aea7b556a Add DMB ISH barrier inst in ARMv8-A SMP scheduler
19091a262 Add .section .preamble to m3 m4 m7 module ports
ced60e1b7 Add missing parenthesis in ports assembly file
309dc77ca Modules Cortex-A7 IAR new port
c752a4063 Modules Cortex-A7 GNU new port
dc224b90f Fix race condition in tx_thread_wait_abort and update regression test
6e261f5b7 create threadx cmsis-pack
</content>
</entry>
<entry>
<title>Release 6.2.0</title>
<updated>2022-10-26T23:41:13Z</updated>
<author>
<name>Tiejun Zhou</name>
<email>tizho@microsoft.com</email>
</author>
<published>2022-10-26T23:41:13Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/threadx.git/commit/?id=3e8e85cdc1e51f9de577457377a4f9a4f6b9b82f'/>
<id>urn:sha1:3e8e85cdc1e51f9de577457377a4f9a4f6b9b82f</id>
<content type='text'>
</content>
</entry>
</feed>
