[PATCH v4 1/1] riscv: __asm_copy_to-from_user: Optimize unaligned memory access and pipeline stall

Guenter Roeck linux at roeck-us.net
Mon Jul 19 06:51:07 PDT 2021


Hi,

On 7/19/21 5:53 AM, Akira Tsukamoto wrote:
> 
> This patch will reduce cpu usage dramatically in kernel space especially
> for application which use sys-call with large buffer size, such as
> network applications. The main reason behind this is that every
> unaligned memory access will raise exceptions and switch between s-mode
> and m-mode causing large overhead.
> 

I had to revert the original patch from the mainline kernel prior to applying
this patch. Obviously that means that there may be other changes affecting the
outcome.

riscv64 images work, but riscv32 images still fail with this patch applied.
The error is a bit different than before, though.

...
[   11.899979] Run /sbin/init as init process
[   12.152666] random: fast init done
moun: applet not found
"�����V�t: applet not found
/bi�����V�F-: applet not found
moun: applet not found
swaon: applet not found
hostname-F: applet not found

After this, the image hangs.

For comparison, the mainline kernel (v5.14-rc2) fails as follows.

[   10.788105] Run /sbin/init as init process
Starting syslogd: OK
Starting klogd: OK
/etc/init.d/S02sysctl: line 68: syntax error: EOF in backquote substitution
/etc/init.d/S20urandom: line 1: syntax error: unterminated quoted string
Starting network: /bin/sh: syntax error: unterminated quoted string
sed: unmatched '/'
/bin/sh: syntax error: unterminated quoted string
FAIL
/etc/init.d/S55runtest: line 48: syntax error: EOF in backquote substitution

I'll be happy to provide information on how to reproduce the problem
if needed. Please let me know.

Thanks,
Guenter



More information about the linux-riscv mailing list