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

Akira Tsukamoto akira.tsukamoto at gmail.com
Mon Jul 19 07:00:13 PDT 2021


On 7/19/2021 10:51 PM, Guenter Roeck wrote:
> 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.

Yes, I do would like to know the procedure of build instruction of your rv32 image.
Then I would reproduce the error and look into how to fix it.

Akira




More information about the linux-riscv mailing list