Skip to contentSkip to conversation

More __get_user_asm_ll32 ...

DISCUSSION Ralf Baechle 2 participants 3 messages Feb 13, 2007 MIPS

lore
Share & tools
lore
#0 lore raw

__get_user_asm_ll32 contains a junk move %0, $0 left over from an older version of the code. Ignoring fixups code and data this instruction inflates the normal path in __get_user() by 50% which may explain much of the size and performance you have meassures. It also always clears the error return, iow. __get_user_asm_ll32(..., &<something 64-bit>) would never have returned an error. ARGH.

Ralf

#1 lore raw
Quoted 6 lines · Ralf Baechle

__get_user_asm_ll32 contains a junk move %0, $0 left over from an older version of the code. Ignoring fixups code and data this instruction inflates the normal path in __get_user() by 50% which may explain much of the size and performance you have meassures. It also always clears the error return, iow. __get_user_asm_ll32(..., &<something 64-bit>) would never have returned an error. ARGH.

Why is it clears the error return? The "3:" label is just after the junk move.

---
Atsushi Nemoto

#2 lore raw
Quoted 2 lines · Atsushi Nemoto

Why is it clears the error return? The "3:" label is just after the junk move.

You're right and the final commit message reflects that. So this is really only a code size (320 bytes) and performance fix.

Ralf