On Fri, Aug 10, 2018 at 07:31:55PM -0700, Richard Henderson wrote:
+++ b/arch/alpha/kernel/entry.S @@ -473,7 +473,7 @@ entSys: bne $3, strace beq $4, 1f ldq $27, 0($5) -1: jsr $26, ($27), alpha_ni_syscall +1: jsr $26, ($27), sys_ni_syscall ldgp $gp, 0($26) blt $0, $syscall_error /* the call failed */ stq $0, 0($sp)
Once upon a time I had a patch to make the hint be sys_gettimeofday, as the most common syscall. Dunno what happened to that.
Might as well... ptraced case has it, non-ptraced doesn't.
BTW, seeing that it's your code - why was unop used in alpha_ni_syscall? I don't remember the rules re pipeline stalls; is it that some earlier variants prefer unop to nop in such places? It's not that microoptimizing that one makes any difference, but just out of curiosity - would something like lda $0, -ENOSYS stq $sp, 0($sp) /* sp != 0 */ ret do just as well there?