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. 


Reply via email to