Skip to content

riscv: Add support for kernel mode vector#88

Merged
sterling-teng merged 14 commits intoRVCK-Project:rvck-6.6from
uestc-gr:vector
Sep 14, 2025
Merged

riscv: Add support for kernel mode vector#88
sterling-teng merged 14 commits intoRVCK-Project:rvck-6.6from
uestc-gr:vector

Conversation

@uestc-gr
Copy link
Contributor

@uestc-gr uestc-gr commented Aug 5, 2025

“Add support for kernel mode vector”补丁系列为RISC-V架构的Linux内核提供了内核模式下的向量支持,优化了性能,支持了抢占机制,并且与用户模式的向量操作协同工作。这些改进使得RISC-V在处理大规模数据和复杂计算时能够更好地利用向量指令的并行性,从而提升整体性能。该补丁增加了如下功能

1、允许内核代码使用向量指令:该补丁系列使内核模式下的代码能够直接使用向量指令进行计算。这在之前是不支持的,因为向量指令主要用于用户模式。

2、上下文管理:提供了内核模式向量的上下文管理机制,确保在内核模式下使用向量时,能够正确地保存和恢复用户模式的向量上下文。

3、向量化子例程:补丁系列计划在内核中引入向量化版本的子例程,如copy_to/from_user等。这些向量化实现可以在处理大规模数据时显著提升性能。

4、性能阈值:引入了性能阈值机制,仅在操作规模较大时启用向量操作,以避免在小规模操作中因向量初始化和拆除成本导致的性能下降。

5、可抢占向量:支持内核模式下的可抢占向量操作。这意味着在内核模式下使用向量时,可以允许其他内核线程抢占当前线程,从而提高系统的响应性和并发性能。

测试方法
qemu使用-cpu rv64,v=on参数打开vector特性,以copy_to/from_use为例,编译下面驱动模块,插入系统可正常运行
copy_to_user_test.c.zip

@zzSunil
Copy link

zzSunil commented Aug 19, 2025

您好,这些内容的backport我在半个月前做过了。
详见RVCK-Project/rvck-olk#103

@uestc-gr
Copy link
Contributor Author

您好,这些内容的backport我在半个月前做过了。 详见RVCK-Project/rvck-olk#103

嗯,你是在旧仓库合入的,我没有看到,另外你多合入了些补丁,又少合了bugfix,补丁commit log也不大对,修改一下,跟我说一下我关闭这个PR

@wangliu-iscas
Copy link
Collaborator

/check

@oervci
Copy link

oervci commented Aug 21, 2025

开始测试

@oervci
Copy link

oervci commented Aug 21, 2025

@oervci
Copy link

oervci commented Aug 21, 2025

Kernel build success!

@oervci
Copy link

oervci commented Aug 21, 2025

@oervci
Copy link

oervci commented Aug 21, 2025

@wangliu-iscas
Copy link
Collaborator

/check

@oervci
Copy link

oervci commented Sep 2, 2025

Kernel build success!

@oervci
Copy link

oervci commented Sep 2, 2025

@oervci
Copy link

oervci commented Sep 2, 2025

Lava check done! result url: https://lava.oerv.ac.cn/results/621/0_rvck_common-test_qemu

@oervci
Copy link

oervci commented Sep 8, 2025

@sterling-teng
Copy link
Contributor

您好,这些内容的backport我在半个月前做过了。 详见RVCK-Project/rvck-olk#103

这个pr已经进入物理机测试阶段了,你这边如果没有异议,通过测试后将会尝试合并。

@uestc-gr
Copy link
Contributor Author

您好,这些内容的backport我在半个月前做过了。 详见RVCK-Project/rvck-olk#103

这个pr已经进入物理机测试阶段了,你这边如果没有异议,通过测试后将会尝试合并。

无异议,测试通过麻烦merge一下

@sterling-teng sterling-teng merged commit a794907 into RVCK-Project:rvck-6.6 Sep 14, 2025
0 of 2 checks passed
@uestc-gr uestc-gr deleted the vector branch September 24, 2025 02:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants