On 3/22/19 1:51 AM, David Gibson wrote: > On Thu, Mar 21, 2019 at 03:49:02PM +0100, Cédric Le Goater wrote: >> XIVE hcalls are all redirected to QEMU as none are on a fast path. >> When necessary, QEMU invokes KVM through specific ioctls to perform >> host operations. QEMU should have done the necessary checks before >> calling KVM and, in case of failure, H_HARDWARE is simply returned. >> >> H_INT_ESB is a special case that could have been handled under KVM >> but the impact on performance was low when under QEMU. Here are some >> figures : >> >> kernel irqchip OFF ON >> H_INT_ESB KVM QEMU >> >> rtl8139 (LSI ) 1.19 1.24 1.23 Gbits/sec >> virtio 31.80 42.30 -- Gbits/sec >> >> Signed-off-by: Cédric Le Goater <c...@kaod.org> > > Reviewed-by: David Gibson <da...@gibson.dropbear.id.au> > >> --- >> >> What has not changed : >> >> - Memory barriers have not been included. Only loads are performed on >> the ESB management page (no stores for now) and stores are done >> only on the trigger page. We should be fine as for the load >> ordering on the management page. > > I'm not entirely sure I'm convinced by this reasoning, but I'll take > your word for it. >
I had a word with our HW designer and we can only have one load outstanding per physical thread, so multiple CI loads will go out as ordered. C.