Skip to content

sync: rvck #120: Optimization of the assembly code of uaccess APIs.#168

Merged
xmzzz merged 2 commits into
OLK-6.6from
sync/rvck-pr-120
Apr 8, 2026
Merged

sync: rvck #120: Optimization of the assembly code of uaccess APIs.#168
xmzzz merged 2 commits into
OLK-6.6from
sync/rvck-pr-120

Conversation

@xmzzz

@xmzzz xmzzz commented Apr 8, 2026

Copy link
Copy Markdown
Contributor

Sync commits from rvck PR #120.

Source PR: RVCK-Project/rvck#120

Commits

  • 93a3ff344b69 riscv: uaccess: Allow the last potential unrolled copy
  • 269dadf8845f riscv: uaccess: Relax the threshold for fast path

mainline inclusion
from mainline-v6.10-rc1
commit f1905946bed052522522303f1d144f506ef5d9f9
category: feature
bugzilla: RVCK-Project/rvck#112

--------------------------------

When the dst buffer pointer points to the last accessible aligned addr, we
could still run another iteration of unrolled copy.

Signed-off-by: Xiao Wang <xiao.w.wang@intel.com>
Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
Signed-off-by: gaorui <gao.rui@zte.com.cn>
Signed-off-by: Yanteng Si <si.yanteng@linux.dev>
Signed-off-by: Mingzheng Xing <xingmingzheng@iscas.ac.cn>
(cherry picked from commit 93a3ff3)
mainline inclusion
from mainline-v6.10-rc1
commit 9850e73e82972f518b75dd0d94d2322f44d9191d
category: feature
bugzilla: RVCK-Project/rvck#112

--------------------------------

The bytes copy for unaligned head would cover at most SZREG-1 bytes, so
it's better to set the threshold as >= (SZREG-1 + word_copy stride size)
which equals to 9*SZREG-1.

Signed-off-by: Xiao Wang <xiao.w.wang@intel.com>
Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
Signed-off-by: gaorui <gao.rui@zte.com.cn>
Signed-off-by: Yanteng Si <si.yanteng@linux.dev>
Signed-off-by: Mingzheng Xing <xingmingzheng@iscas.ac.cn>
(cherry picked from commit 269dadf)
@xmzzz
xmzzz merged commit 6f95a3b into OLK-6.6 Apr 8, 2026
@github-actions

github-actions Bot commented Apr 8, 2026

Copy link
Copy Markdown

开始测试 log: https://github.com/RVCK-Project/rvck-olk/actions/runs/24122428324

参数解析结果
args value
repository RVCK-Project/rvck-olk
head ref pull/168/head
base ref OLK-6.6
LAVA repo RVCK-Project/lavaci
LAVA Template lava-job-template/qemu/qemu-ltp.yaml
Testcase path lava-testcases/common-test/ltp/ltp.yaml
need run job kunit-test,kernel-build,check-patch,lava-trigger

测试完成

详细结果:

RVCK result

check result
kunit-test success
kernel-build success
lava-trigger success
check-patch success

Kunit Test Result

[07:28:19] Testing complete. Ran 454 tests: passed: 442, skipped: 12

Kernel Build Result

Kernel build succeeded: RVCK-Project/rvck-olk/168__1/

ff153d7ce64ae11b74f3ab3c8ecd06d9 /srv/guix_result/17a3d4f1e3d8f06e8b39e6d8534fb9a0e3fd8893/Image
fabeda6d3c62f68ca3a9c3f5e5f8fd9b /root/initramfs.img

LAVA Check

args:

result:

Lava check done! lava log: https://lava.oerv.ac.cn/scheduler/job/1760

lava result count: [fail]: 20, [pass]: 1586, [skip]: 293

Check Patch Result

Total Errors 0
Total Warnings 0

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants