[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <d223ad23-04ae-408f-2a73-d5fa641ad725@twiddle.net>
Date: Fri, 10 Aug 2018 21:10:04 -0700
From: Richard Henderson <rth@...ddle.net>
To: Al Viro <viro@...IV.linux.org.uk>
Cc: Firoz Khan <firoz.khan@...aro.org>, linux-alpha@...r.kernel.org,
ink@...assic.park.msu.ru, mattst88@...il.com,
y2038@...ts.linaro.org, linux-kernel@...r.kernel.org,
linux-arch@...r.kernel.org, arnd@...db.de, deepa.kernel@...il.com
Subject: Re: [PATCH 3/6] alpha: Unify the not-implemented system call entry
name
On 08/10/2018 07:45 PM, Al Viro wrote:
> 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?
Oh that. Well, unop is a "load" and pairs with everything
on all cpus, where nop is an integer and doesn't always
pair. So I got into the habit of using unop for everything.
The extra nop was so that lda + unop // stq + ret paired up
in in two cycles as opposed to lda /stall/ stq // ret in
three cycles on ev4+ev5. ev6 didn't care. FWIW.
r~
Powered by blists - more mailing lists