rseq: Optimise rseq_get_rseq_cs() and clear_rseq_cs()
authorEric Dumazet <edumazet@google.com>
Tue, 13 Apr 2021 20:33:52 +0000 (13:33 -0700)
committerPeter Zijlstra <peterz@infradead.org>
Wed, 14 Apr 2021 16:04:09 +0000 (18:04 +0200)
commit5e0ccd4a3b01c5a71732a13186ca110a138516ea
tree83297b8fe4f69131131ac5312aca86e76799568b
parent0ed96051531ecc6965f6456d25b19b9b6bdb5c28
rseq: Optimise rseq_get_rseq_cs() and clear_rseq_cs()

Commit ec9c82e03a74 ("rseq: uapi: Declare rseq_cs field as union,
update includes") added regressions for our servers.

Using copy_from_user() and clear_user() for 64bit values
is suboptimal.

We can use faster put_user() and get_user() on 64bit arches.

Signed-off-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Reviewed-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Link: https://lkml.kernel.org/r/20210413203352.71350-4-eric.dumazet@gmail.com
kernel/rseq.c