[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH v9 07/13] x86: add multiboot2 protocol support for EFI platforms



On Wed, Nov 30, 2016 at 06:59:57AM -0700, Jan Beulich wrote:
> >>> On 30.11.16 at 14:45, <daniel.kiper@xxxxxxxxxx> wrote:
> > On Fri, Nov 25, 2016 at 12:50:55AM -0700, Jan Beulich wrote:
> >> >>> On 24.11.16 at 22:44, <daniel.kiper@xxxxxxxxxx> wrote:
> >> > On Thu, Nov 24, 2016 at 04:08:12AM -0700, Jan Beulich wrote:
> >> >> >>> On 23.11.16 at 19:52, <andrew.cooper3@xxxxxxxxxx> wrote:
> >> >> > Always use add/sub 1 in preference to inc and dec.  They are the same
> >> >> > length to encode in 64bit, and avoids a pipeline stall from a merge of
> >> >> > the eflags register.
> >> >>
> >> >> What you say regarding length not true - add/sub need to encode
> >> >> the immediate somewhere (even if the operand was a register,
> >> >> inc/dec would still be smaller than add/sub, just not by as much as
> >> >> in 32-bit code). And the pipeline stall, afaik, affects only rather old
> >> >> processors.
> >> >
> >> > Intel 64 and IA-32 Architectures Optimization Reference Manual, section
> >> > 3.5.1.1, Use of the INC and DEC Instructions says nothing about 
> >> > exceptions.
> >>
> >> Which by itself is suspicious, as the dependency issue had been
> >> introduced only in (iirc) Pentium4. And anyway, this is a general
> >
> > Hmmm... Interesting... It looks that INC/DEC behavior has not changed since
> > the beginning (why it would change? It would not make sense).
>
> Please properly disambiguate "behavior": Architectural behavior of
> course can't change. Performance, otoh, has changed many times.

Right!

> And the resource dependency issue did appear only once the
> pipelining of instructions was sophisticated enough, but not good
> enough yet to track (as a dependency) EFLAGS.CF separately from
> the other arithmetic result flags.

OK, make sense right now. Thanks for explanation.

Daniel

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
https://lists.xen.org/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.