<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rt-thread.git/src/scheduler_mp.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/scheduler_mp.c?h=riscv64</id>
<link rel='self' href='http://cgit.235523.xyz/rt-thread.git/atom/src/scheduler_mp.c?h=riscv64'/>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/rt-thread.git/'/>
<updated>2024-05-28T06:27:55Z</updated>
<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>[src][thread]bind cpu fixup (#8872)</title>
<updated>2024-04-28T07:19:50Z</updated>
<author>
<name>zms123456</name>
<email>85141075+zmshahaha@users.noreply.github.com</email>
</author>
<published>2024-04-28T07:19:50Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/rt-thread.git/commit/?id=fa1c473a964a7303e2f80e4fe126a4cadb09336b'/>
<id>urn:sha1:fa1c473a964a7303e2f80e4fe126a4cadb09336b</id>
<content type='text'>
bind cpu fixup</content>
</entry>
<entry>
<title>fixup: add Kconfig option</title>
<updated>2024-04-20T01:30:12Z</updated>
<author>
<name>Shell</name>
<email>smokewood@qq.com</email>
</author>
<published>2024-04-19T05:13:31Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/rt-thread.git/commit/?id=d1bb01621beec12a03fbe1489419cabde5461919'/>
<id>urn:sha1:d1bb01621beec12a03fbe1489419cabde5461919</id>
<content type='text'>
</content>
</entry>
<entry>
<title>[kernel] remove redundant _scheduler_stack_check</title>
<updated>2024-03-21T02:26:41Z</updated>
<author>
<name>Shell</name>
<email>smokewood@qq.com</email>
</author>
<published>2024-03-21T02:26:41Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/rt-thread.git/commit/?id=f143ea2b31d6cb7030850caf108f801cff7bafac'/>
<id>urn:sha1:f143ea2b31d6cb7030850caf108f801cff7bafac</id>
<content type='text'>
</content>
</entry>
<entry>
<title>[fixup] check NULL pointer before access (#8573)</title>
<updated>2024-03-02T08:05:19Z</updated>
<author>
<name>Shell</name>
<email>smokewood@qq.com</email>
</author>
<published>2024-03-02T08:05:19Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/rt-thread.git/commit/?id=53754ff50acfba0ef4ebae21150b49762c5919ef'/>
<id>urn:sha1:53754ff50acfba0ef4ebae21150b49762c5919ef</id>
<content type='text'>
Signed-off-by: Shell &lt;smokewood@qq.com&gt;</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>[ci] fix errors under strick compiling mode</title>
<updated>2024-02-20T00:39:05Z</updated>
<author>
<name>Meco Man</name>
<email>920369182@qq.com</email>
</author>
<published>2024-02-19T19:51:42Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/rt-thread.git/commit/?id=bd228eb9c538f55d69e535db36ef26aab36bb79c'/>
<id>urn:sha1:bd228eb9c538f55d69e535db36ef26aab36bb79c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>[kernel] fixup of data racing accessing percpu objects (#8475)</title>
<updated>2024-01-09T15:09:49Z</updated>
<author>
<name>Shell</name>
<email>smokewood@qq.com</email>
</author>
<published>2024-01-09T15:09:49Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/rt-thread.git/commit/?id=cc157baf23b3757b1741ca06da4bad45b5ff8ddc'/>
<id>urn:sha1:cc157baf23b3757b1741ca06da4bad45b5ff8ddc</id>
<content type='text'>
Signed-off-by: Shell &lt;smokewood@qq.com&gt;</content>
</entry>
<entry>
<title>[kernel] support for hook list</title>
<updated>2024-01-02T11:42:46Z</updated>
<author>
<name>Shell</name>
<email>smokewood@qq.com</email>
</author>
<published>2023-12-23T09:59:18Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/rt-thread.git/commit/?id=e7880a9713ef3efed9ad133231981761bcc3e4eb'/>
<id>urn:sha1:e7880a9713ef3efed9ad133231981761bcc3e4eb</id>
<content type='text'>
Signed-off-by: Shell &lt;smokewood@qq.com&gt;
</content>
</entry>
</feed>
