Skip to content

Commit

Permalink
MIPS: Optimize get_user and put_user for 64-bit
Browse files Browse the repository at this point in the history
A long for the error value leads to unnecessary sign extensions.  This
patch shrinks an ip27_defconfig kernel build with gcc 4.3.0 by 2256 bytes.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
  • Loading branch information
ralfbaechle committed Oct 11, 2008
1 parent b6263ff commit 8d2d91e
Showing 1 changed file with 4 additions and 4 deletions.
8 changes: 4 additions & 4 deletions include/asm-mips/uaccess.h
Original file line number Diff line number Diff line change
Expand Up @@ -224,15 +224,15 @@ do { \

#define __get_user_nocheck(x, ptr, size) \
({ \
long __gu_err; \
int __gu_err; \
\
__get_user_common((x), size, ptr); \
__gu_err; \
})

#define __get_user_check(x, ptr, size) \
({ \
long __gu_err = -EFAULT; \
int __gu_err = -EFAULT; \
const __typeof__(*(ptr)) __user * __gu_ptr = (ptr); \
\
if (likely(access_ok(VERIFY_READ, __gu_ptr, size))) \
Expand Down Expand Up @@ -304,7 +304,7 @@ do { \
#define __put_user_nocheck(x, ptr, size) \
({ \
__typeof__(*(ptr)) __pu_val; \
long __pu_err = 0; \
int __pu_err = 0; \
\
__pu_val = (x); \
switch (size) { \
Expand All @@ -321,7 +321,7 @@ do { \
({ \
__typeof__(*(ptr)) __user *__pu_addr = (ptr); \
__typeof__(*(ptr)) __pu_val = (x); \
long __pu_err = -EFAULT; \
int __pu_err = -EFAULT; \
\
if (likely(access_ok(VERIFY_WRITE, __pu_addr, size))) { \
switch (size) { \
Expand Down

0 comments on commit 8d2d91e

Please sign in to comment.