<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rt-thread.git/src/thread.c, branch riscv64</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.</subtitle>
<id>http://cgit.235523.xyz/rt-thread.git/atom/src/thread.c?h=riscv64</id>
<link rel='self' href='http://cgit.235523.xyz/rt-thread.git/atom/src/thread.c?h=riscv64'/>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/rt-thread.git/'/>
<updated>2024-06-29T03:27:39Z</updated>
<entry>
<title>[src][thread]fix rt_thread_resume return value error (#9114)</title>
<updated>2024-06-29T03:27:39Z</updated>
<author>
<name>zms123456</name>
<email>85141075+zmshahaha@users.noreply.github.com</email>
</author>
<published>2024-06-29T03:27:39Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/rt-thread.git/commit/?id=c018a3e3fd701402a4b83da614e79ea5ba66514d'/>
<id>urn:sha1:c018a3e3fd701402a4b83da614e79ea5ba66514d</id>
<content type='text'>
fix rt_thread_resume return value error</content>
</entry>
<entry>
<title>[arm64] add hw thread self (#8942)</title>
<updated>2024-05-28T06:27:55Z</updated>
<author>
<name>Shell</name>
<email>smokewood@qq.com</email>
</author>
<published>2024-05-28T06:27:55Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/rt-thread.git/commit/?id=f17f994f8c85a0ca58d42c81a14f1134af6ada91'/>
<id>urn:sha1:f17f994f8c85a0ca58d42c81a14f1134af6ada91</id>
<content type='text'>
* [libcpu] arm64: Add hardware thread_self support

This patch introduces hardware-based thread self-identification
for the AArch64 architecture. It optimizes thread management by
using hardware registers to store and access the current thread's
pointer, reducing overhead and improving overall performance.

Changes include:
- Added `ARCH_USING_HW_THREAD_SELF` configuration option.
- Modified `rtdef.h`, `rtsched.h` to conditionally include
  `critical_switch_flag` based on the new config.
- Updated context management in `context_gcc.S`, `cpuport.h`
  to support hardware-based thread self.
- Enhanced `scheduler_mp.c` and `thread.c` to leverage the new
  hardware thread self feature.

These modifications ensure better scheduling and thread handling,
particularly in multi-core environments, by minimizing the
software overhead associated with thread management.

Signed-off-by: Shell &lt;smokewood@qq.com&gt;

* fixup: address suggestion

* fixup: rt_current_thread as global

* scheduler: add cpu object for UP scheduler

Also, maintain the rt_current_thread in cpu object on UP scheduler.

---------

Signed-off-by: Shell &lt;smokewood@qq.com&gt;</content>
</entry>
<entry>
<title>[libcpu/arm64] add C11 atomic ticket spinlock (#8882)</title>
<updated>2024-05-16T07:45:12Z</updated>
<author>
<name>Shell</name>
<email>smokewood@qq.com</email>
</author>
<published>2024-05-16T07:45:12Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/rt-thread.git/commit/?id=e25fc8b5118fba87acd5bc677641926a913bb3a5'/>
<id>urn:sha1:e25fc8b5118fba87acd5bc677641926a913bb3a5</id>
<content type='text'>
* [libcpu/arm64] add C11 atomic ticket spinlock

Replace the former implementation of flag-based spinlock which is unfair

Besides, C11 atomic implementation is more readable (it's C anyway),
and maintainable. Cause toolchain can use their builtin optimization and
tune for different micro-architectures. For example armv8.5 introduces a
better instruction. The compiler can help with that when it knows your
target platform in support of it.

Signed-off-by: Shell &lt;smokewood@qq.com&gt;

* fixup: RT_CPUS_NR

---------

Signed-off-by: Shell &lt;smokewood@qq.com&gt;</content>
</entry>
<entry>
<title>[smart] fixup arm64 aspace switch (#8925)</title>
<updated>2024-05-10T01:17:19Z</updated>
<author>
<name>Shell</name>
<email>smokewood@qq.com</email>
</author>
<published>2024-05-10T01:17:19Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/rt-thread.git/commit/?id=017b2a5a4461f349958e4b7c629679df3b1f9d7f'/>
<id>urn:sha1:017b2a5a4461f349958e4b7c629679df3b1f9d7f</id>
<content type='text'>
* [smart] fixup arm64 aspace switch

Signed-off-by: Shell &lt;smokewood@qq.com&gt;

* fixup: arm add arch_kernel_mmu_table_get

---------

Signed-off-by: Shell &lt;smokewood@qq.com&gt;</content>
</entry>
<entry>
<title>[kernel] add rt_thread_close()</title>
<updated>2024-05-01T04:49:09Z</updated>
<author>
<name>Shell</name>
<email>smokewood@qq.com</email>
</author>
<published>2024-05-01T04:49:09Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/rt-thread.git/commit/?id=2c9b7c10b9ff6b4509945376bb4e25dd18c1ce25'/>
<id>urn:sha1:2c9b7c10b9ff6b4509945376bb4e25dd18c1ce25</id>
<content type='text'>
* [thread] Add rt_thread_close()

This patch introduces a new function `rt_thread_close()` to enhances the
usability and maintainability by providing a dedicated mechanism for
closing threads.

- A new function `rt_thread_close()` is added to the API, providing a
  standardized approach for closing threads.
- The `rt_thread_close()` function removes a thread from the thread
  queue, updates its status to indicate closure, and performs the thread
  timer detaching which is a embedded timer in thread object.
- Additionally, the `rt_thread_detach()` function is modified to utilize
  `rt_thread_close()` internally, streamlining the thread detachment
  process.

Signed-off-by: Shell &lt;smokewood@qq.com&gt;</content>
</entry>
<entry>
<title>[fix] 添加创建线程函数时间片参数检查 (#8807)</title>
<updated>2024-04-16T13:59:08Z</updated>
<author>
<name>Yaochenger</name>
<email>75192526+Yaochenger@users.noreply.github.com</email>
</author>
<published>2024-04-16T13:59:08Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/rt-thread.git/commit/?id=46f464a5e0add65023e10557cc68a6af4f3f4be2'/>
<id>urn:sha1:46f464a5e0add65023e10557cc68a6af4f3f4be2</id>
<content type='text'>
</content>
</entry>
<entry>
<title>🎯 Sync smart &amp; scheduler codes (#8537)</title>
<updated>2024-02-23T09:49:15Z</updated>
<author>
<name>Shell</name>
<email>smokewood@qq.com</email>
</author>
<published>2024-02-23T09:49:15Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/rt-thread.git/commit/?id=71560bafb5735220696ca24a42ba4a668b55949b'/>
<id>urn:sha1:71560bafb5735220696ca24a42ba4a668b55949b</id>
<content type='text'>
Signed-off-by: Shell &lt;smokewood@qq.com&gt;
Co-authored-by: xqyjlj &lt;xqyjlj@126.com&gt;</content>
</entry>
<entry>
<title>[kernel] fix some strict compiling warnings</title>
<updated>2024-02-19T06:56:21Z</updated>
<author>
<name>Meco Man</name>
<email>920369182@qq.com</email>
</author>
<published>2024-02-19T06:35:50Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/rt-thread.git/commit/?id=2748a6ada432152887ed2cad059e43e2a130793c'/>
<id>urn:sha1:2748a6ada432152887ed2cad059e43e2a130793c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>✨ feat: delete thread ref (#8456)</title>
<updated>2024-01-05T09:03:55Z</updated>
<author>
<name>xqyjlj</name>
<email>xqyjlj@126.com</email>
</author>
<published>2024-01-05T09:03:55Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/rt-thread.git/commit/?id=6b6d39d716b21c9f4b72641a0ad3e44685e7bb19'/>
<id>urn:sha1:6b6d39d716b21c9f4b72641a0ad3e44685e7bb19</id>
<content type='text'>
</content>
</entry>
<entry>
<title>🐞 fix(thread): fix thread sleep (deadlock)</title>
<updated>2024-01-02T13:09:54Z</updated>
<author>
<name>xqyjlj</name>
<email>xqyjlj@126.com</email>
</author>
<published>2024-01-02T06:17:45Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/rt-thread.git/commit/?id=92bd28f22bcdc2e0a72803cf65afe9bb2a387ad6'/>
<id>urn:sha1:92bd28f22bcdc2e0a72803cf65afe9bb2a387ad6</id>
<content type='text'>
</content>
</entry>
</feed>
