Re: [RFC PATCH 0/3] generic hypercall support



Hollis Blanchard wrote:
On Sun, 2009-05-10 at 13:38 -0500, Anthony Liguori wrote:
Gregory Haskins wrote:
Can you back up your claim that PPC has no difference in performance
with an MMIO exit and a "hypercall" (yes, I understand PPC has no "VT"
like instructions, but clearly there are ways to cause a trap, so
presumably we can measure the difference between a PF exit and something
more explicit).
First, the PPC that KVM supports performs very poorly relatively speaking because it receives no hardware assistance this is not the right place to focus wrt optimizations.

And because there's no hardware assistance, there simply isn't a hypercall instruction. Are PFs the fastest type of exits? Probably not but I honestly have no idea. I'm sure Hollis does though.

Memory load from the guest context (for instruction decoding) is a
*very* poorly performing path on most PowerPC, even considering server
PowerPC with hardware virtualization support. No, I don't have any data
for you, but switching the hardware MMU contexts requires some
heavyweight synchronization instructions.

For current ppcemb, you would have to do a memory load no matter what, right? I guess you could have a dedicated interrupt vector or something...

For future ppcemb's, do you know if there is an equivalent of a PF exit type? Does the hardware squirrel away the faulting address somewhere and set PC to the start of the instruction? If so, no guest memory load should be required.

Regards,

Anthony Liguori
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



Relevant Pages

  • Re: ANSI C question about volatile
    ... The *intent* of the C Standard is clear: the hardware has some ... Only one "bus width" is supported, ... the register numbers might change in the process). ... programmer might use the "bis" or "bic" instructions on the VAX: ...
    (comp.lang.c)
  • Re: implementing Futex
    ... feature atomic instructions, ... This area is prepared by the Kernel and holds functions for all ... Moreover it should be possible to allow "hardware" designers to ... NIOS-like FPGA-processor to provide some hardware support for atomicness ...
    (Linux-Kernel)
  • Re: When is performance really an issue? Was: Running an ISPF applicction from one pds
    ... older hardware. ... If you think it's bad now, it will get a lot worse if/when IBM ... The ratio of the amount of circuitry in the 3081 to its ... For IBM-MAIN subscribe / signoff / archive access instructions, ...
    (bit.listserv.ibm-main)
  • Re: Presbyopia, or "Old Guy Eyes"
    ... You get an out of range message, the program will exit with error. ... closed-loop control system could run away. ... but in that case no way can it go past the ranges, as the hardware is not capable of that. ... Some pretty big industrial installations ran on it. ...
    (sci.electronics.design)
  • Re: IBM System z9
    ... add hardware features to speed up operations for which there ... If one is going to add new instructions to a machine at *all*, ... large company that sells computers. ... Decimal floating point, therefore, offers to extend this convenience - ...
    (comp.arch)