提交 04197a72 编写于 作者: C Cheng Jian 提交者: Yang Yingliang

lib/clear_user: ensure loop in __arch_clear_user cache-aligned

hulk inclusion
category: bugfix
bugzilla: https://gitee.com/openeuler/kernel/issues/I3OX0C
CVE: NA

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

We must ensure that the following four instructions are cache-aligned.
Otherwise, it will cause problems with the performance of libMicro
pread.

1:
	# uao_user_alternative 9f, str, sttr, xzr, x0, 8
	str     xzr, [x0], #8
	nop
	subs    x1, x1, #8
	b.pl    1b

with this patch:

             prc thr   usecs/call      samples   errors cnt/samp     size
pread_z100     1   1      5.88400          807        0	1	     102400

The result of pread can range from 5 to 9 depending on  the
alignment performance of this function.
Signed-off-by: NCheng Jian <cj.chengjian@huawei.com>
Reviewed-by: NXie XiuQi <xiexiuqi@huawei.com>
Signed-off-by: NYang Yingliang <yangyingliang@huawei.com>
上级 ed0c958e
......@@ -20,7 +20,7 @@
#include <asm/asm-uaccess.h>
.text
.align 6
/* Prototype: int __arch_clear_user(void *addr, size_t sz)
* Purpose : clear some user memory
* Params : addr - user memory address to clear
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册