4
0
mirror of https://github.com/RT-Thread/rt-thread.git synced 2025-01-19 23:03:32 +08:00

160 Commits

Author SHA1 Message Date
Shell
6ca327d8ce
[smart] add CPU/thread usage tracing config (#8947)
* [smart] add CPU usage tracing config

This patch introduces following features:

- Added CPU usage tracing functionality, enabled by default, for
  applications like 'top'
- update time as smart independent

Signed-off-by: Shell <smokewood@qq.com>

* fixup: add ump idle thread

---------

Signed-off-by: Shell <smokewood@qq.com>
2024-06-04 00:06:41 +08:00
Shell
e5cf86267b
[smart] fixup of script execution (#9009)
This patch fixup the script execution capabilities on argv passing
and adds support for arguments larger than 4k.

According to POSIX, the script parameter is quiet different
from the current implementation. Especially on the way it inserts
the path of executables. At the end, when you execute a script
from `$PATH`, it always fails.

For the script, interpreter will be invoked with the following
arguments: `{interpreter [optional-arg] pathname arg...}`
where pathname is the pathname of the file specified as the first
argument of execve(), and arg...  is the series of words pointed
to by the argv argument of execve(), starting at argv[1].  Note that
there is no way to get the argv[0] that was passed to the
execve() call.

The changes include:

- Separating argument, environment variable, and auxiliary vector
  processing into a new lwp_args.c file.
- Fixing bugs in script argument processing and supporting arguments
  larger than 4k.
- Updating lwp_execve to use the new argscopy function and removing
  the old lwp_argscopy function.
- Making various modifications to lwp_load and elf_aux_fill to work
  with the new argument processing.
- Removing unnecessary code related to dynamic loading and interpreter
  scripts.

Signed-off-by: Shell <smokewood@qq.com>
2024-05-31 17:32:19 +08:00
rcitachi
85b428df42
[lwp]list_process can print tid (#8991)
* list_process can print tid

* fix-ci

* update list_process

* Update lwp_pid.c
2024-05-31 17:30:46 +08:00
Shell
63591d935e
[smart] fixup errno passing on sys_mkdir() (#9007)
Use _SYS_WRAP to fetch errno on return of mkdir to avoiding overriding
of it on other system APIs.

Signed-off-by: Shell <smokewood@qq.com>
2024-05-29 18:06:54 +08:00
Shell
f179ce12b7
[smart] update sched_setaffinity() to use thread(task) ID (#9004)
Correct `sched_setaffinity()` to use the thread IDs (TIDs) instead of
process IDs (PIDs). The previous implementation used PIDs, which
caused issues since affinity settings need to be applied at the
thread level.

As the manual documented, the signature is:

>        int sched_setaffinity(pid_t pid, size_t cpusetsize,
>                             const cpu_set_t *mask);

Yes, it's tricky, the identification passing in is called **'PID'**.
But when we talk about 'pid' from GNU libc, it's the **'task-id'**,
aka, `thread->tid` known in kernel.

Changes were made by updating the function signatures and logic in
`lwp.h`, `lwp_pid.c`, and `lwp_syscall.c` to accept TIDs. Specifically,
the `lwp_setaffinity` function and related internal functions now
operate using thread IDs and adjust thread affinity settings accordingly

Signed-off-by: Shell <smokewood@qq.com>
2024-05-29 06:53:22 +08:00
heyuanjie87
326150e2f4
[lwp/riscv]进入libc前初始化用户态sp (#8997) 2024-05-29 06:52:38 +08:00
Shell
952f2c43f8
[smart] add FIONREAD ioctl support for tty (#8996)
Signed-off-by: Shell <smokewood@qq.com>
2024-05-28 09:56:10 +08:00
Shell
5f71da566a
[libcpu] arm: fixup signal handling (#8988)
Signed-off-by: Shell <smokewood@qq.com>
2024-05-26 22:00:48 +08:00
Shell
397cdcd132
[libcpu] discard rt_current_thread (#8976)
* [libcpu] rv64: discard rt_current_thread

* arm: using rt_thread_self to fetch current TCB
2024-05-26 22:00:17 +08:00
Shell
6b12bce22f
[quality] fixup compiler warning (#8961)
Signed-off-by: Shell <smokewood@qq.com>
2024-05-21 19:47:42 +08:00
Shell
f2d6325b43
[smart] select console device dynamically (#8949)
* [smart] select console device dynamically

- Fixed compiler warning on terminal subsystem for
  `components/lwp/terminal/terminal.h`
- Updated default console setup to dynamically select an appropriate tty
  device based on the configured console device name.

Signed-off-by: Shell <smokewood@qq.com>

* fixup: remove useless codes

---------

Signed-off-by: Shell <smokewood@qq.com>
2024-05-17 13:19:00 +08:00
Shell
017b2a5a44
[smart] fixup arm64 aspace switch (#8925)
* [smart] fixup arm64 aspace switch

Signed-off-by: Shell <smokewood@qq.com>

* fixup: arm add arch_kernel_mmu_table_get

---------

Signed-off-by: Shell <smokewood@qq.com>
2024-05-10 09:17:19 +08:00
xiao-mang
b586889216
fix baudrate error (#8873)
* fix baudrate error

* fix baudrate error

* fix baudrate error

* fix baudrate error

* fix baudrate error

* fix baudrate error

* fix baudrate error

* fix baudrate error

* fix baudrate error
2024-04-29 18:00:34 +08:00
xiao-mang
75f41723cb
fix sys_getcwd (#8852) 2024-04-25 18:28:53 +08:00
Shell
5730097296
[smart] fixup devfs porting layer of terminal (#8797)
Signed-off-by: Shell <smokewood@qq.com>
2024-04-15 18:24:19 +08:00
Shell
4b0f42c24a
[drivers/serial] Introduce hooker for TTY (#8733)
In this patch, a hook list has been introduced to address the concerns
regarding coupling issues arising from modifications to the serial code
for integrating TTY logic.

Signed-off-by: Shell <smokewood@qq.com>
2024-04-09 21:36:16 +08:00
Shell
864055bf18
[fixup] aarch64 UMP compiler error (#8677)
Signed-off-by: Shell <smokewood@qq.com>
2024-03-30 17:58:38 +08:00
Shell
83e95bdff4
sync smart & dfs (#8672)
Signed-off-by: xqyjlj <xqyjlj@126.com>
Signed-off-by: Shell <smokewood@qq.com>
Co-authored-by: xqyjlj <xqyjlj@126.com>
2024-03-28 23:42:56 +08:00
Shell
71560bafb5
🎯 Sync smart & scheduler codes (#8537)
Signed-off-by: Shell <smokewood@qq.com>
Co-authored-by: xqyjlj <xqyjlj@126.com>
2024-02-23 17:49:15 +08:00
Yuqiang Wang
c6bdee3c50
[ci] open ci check with function declaration warning (#8546) 2024-02-20 22:45:04 -05:00
Meco Man
bd228eb9c5 [ci] fix errors under strick compiling mode 2024-02-20 08:39:05 +08:00
rcitachi
0c96b26c23
[sys_bind] [signalfd] update (#8507) 2024-01-26 22:14:02 +08:00
Shell
3a7903b799 [kernel] Add hook for malloc services
Including the patch for memory allocation, testsuites and fixups of
static analysis.

Signed-off-by: Shell <smokewood@qq.com>
2024-01-02 19:42:46 +08:00
geniusgogo
6b22a0a2b7
dfsv2 code tidy. (#8374) 2023-12-16 18:06:47 +08:00
zmq810150896
2790ce5357
Updated issues related to uds capacity and eventfd macro redefinition (#8329) 2023-12-06 13:51:13 +08:00
rcitachi
58665c7f50
[AF_UNIX] Update AF_UNIX bind, connect entry (#8314) 2023-12-02 12:11:01 +08:00
rcitachi
1e6b2a81d0
修复 #8293 问题 (#8307) 2023-11-29 14:08:47 +08:00
geniusgogo
74925f43ed
fix dfs path name overflow. (#8305) 2023-11-28 17:16:21 +08:00
rcitachi
c06f4e98fc
[SAL] Update SAL,Add socketpair sendmsg recvmsg function (#8293) 2023-11-28 13:56:06 +08:00
geniusgogo
9acebb07dc
fix rt_channel lock. (#8244) 2023-11-10 21:37:07 +08:00
xqyjlj
fa9b496b2a
feat: fix pid recycling (#8225) 2023-11-06 13:22:27 +08:00
xqyjlj
5ad6a6f2c5
🐞 fix: fix taskset (#8211) 2023-11-02 23:12:44 +08:00
Shell
c2036e769a
[smart] fixup of lwp recycling and mm varea (#8206)
Signed-off-by: shell <wangxiaoyao@rt-thread.com>
Signed-off-by: Shell <smokewood@qq.com>
Co-authored-by: xqyjlj <xqyjlj@126.com>
2023-11-02 20:23:11 +08:00
Shell
eafb04e011
[ctime] fixup of data racing (#8187)
Signed-off-by: Shell <smokewood@qq.com>
2023-10-26 13:56:27 +08:00
xqyjlj
3283f54c7a
🎈 perf: perf rt_hw_interrupt_disable/enable (#8042)
Signed-off-by: Shell <smokewood@qq.com>
Co-authored-by: Shell <smokewood@qq.com>
2023-10-25 20:31:25 +08:00
Shell
fb78a71020
[smart] replace varea pgmgr and fixup of dfs mmap (#8184)
Signed-off-by: shell <smokewood@qq.com>
Signed-off-by: Shell <smokewood@qq.com>
2023-10-25 14:59:48 +08:00
Shell
70a8d1d465
[kservice] improve backtrace service in kernel (#8144)
Signed-off-by: Shell <smokewood@qq.com>
2023-10-21 20:14:45 +08:00
geniusgogo
9dd1d73c94 update ldso pagecache kconfig 2023-10-20 12:35:06 -04:00
geniusgogo
ecd29fda60
Sync dfs lwp (#8123) 2023-10-17 13:07:59 +08:00
Shell
1e7add54d4
[smart] fixup: syscall.c (#8131)
Signed-off-by: shell <wangxiaoyao@rt-thread.com>
2023-10-14 13:09:17 +08:00
Shell
4158c8e88e
[smart] Replace irq disable/enable codes in futex (#7941)
Signed-off-by: Shell <smokewood@qq.com>
2023-10-14 13:07:45 +08:00
xiao-mang
5d16042765
add sys_utimensat (#8124) 2023-10-13 19:21:49 +08:00
Shell
8e57b5fdd4
[smart] fixup: lwp_free() (#8126)
Signed-off-by: shell <wangxiaoyao@rt-thread.com>
2023-10-13 14:21:06 +08:00
zmq810150896
e6eddfa711
Fix the problem that when dfs_v2 transmits fd, dentry or vnode does not exist (#8089) 2023-10-12 08:22:46 +08:00
Shell
a300cef2a8 [smart] split out part of lwp_new() to lwp_create()
Prev implementation of lwp_new() including the create of lwp object
and the pid allocation. But not every lwp object need a pid.
So this patch split out the business of lwp_new() to improve the
maintainability.

Signed-off-by: Shell <smokewood@qq.com>
2023-10-11 08:48:06 +08:00
skychen123
fcd0fecd3e
add sys_setitimer syscall (#8096) 2023-10-08 13:30:04 +08:00
zhouminquan
75b4f3d83a tmpfs adds truncate functionality and unlink adaptations 2023-09-25 13:23:25 +08:00
zmq810150896
7c2f807a7c
Add the system call timerfd and update SConscript for signalfd (#8067) 2023-09-23 14:18:29 +08:00
zmq810150896
dc84765823
[smart] Updated the API for kernel access to user address issues and for calculating string length (#8058) 2023-09-23 14:06:00 +08:00
Shell
b826afe8f9
[smart] fix of cmd_kill (#8071)
Signed-off-by: Shell <smokewood@qq.com>
2023-09-22 15:06:07 +08:00