Skip to content

Backport subject: “riscv: Add support for kernel mode vector” #86

Description

@uestc-gr

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

  1. 内核模式向量支持
    允许内核代码使用向量指令:该补丁系列使内核模式下的代码能够直接使用向量指令进行计算。这在之前是不支持的,因为向量指令主要用于用户模式。
    上下文管理:提供了内核模式向量的上下文管理机制,确保在内核模式下使用向量时,能够正确地保存和恢复用户模式的向量上下文。

  2. 性能优化
    向量化子例程:补丁系列计划在内核中引入向量化版本的子例程,如copy_to/from_user等。这些向量化实现可以在处理大规模数据时显著提升性能。
    性能阈值:引入了性能阈值机制,仅在操作规模较大时启用向量操作,以避免在小规模操作中因向量初始化和拆除成本导致的性能下降。

  3. 抢占支持
    可抢占向量:支持内核模式下的可抢占向量操作。这意味着在内核模式下使用向量时,可以允许其他内核线程抢占当前线程,从而提高系统的响应性和并发性能。
    上下文切换优化:优化了上下文切换机制,确保在内核模式下使用向量时,上下文切换的开销最小化。

  4. 信号和中断处理
    信号接口支持:在用户模式下,向量上下文的保存和恢复与信号处理机制集成,确保信号处理时不会破坏向量上下文。
    中断处理优化:在内核模式下,补丁系列确保在中断发生时能够正确地保存和恢复向量上下文,避免中断处理对向量操作的影响。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions