[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <4e8f8b7f-0b20-5c2a-f23d-3f5d5321dd3a@intel.com>
Date: Fri, 23 Jul 2021 15:16:31 +0800
From: Zeng Guang <guang.zeng@...el.com>
To: Wanpeng Li <kernellwp@...il.com>
Cc: Paolo Bonzini <pbonzini@...hat.com>,
Sean Christopherson <seanjc@...gle.com>,
Vitaly Kuznetsov <vkuznets@...hat.com>,
Wanpeng Li <wanpengli@...cent.com>,
Jim Mattson <jmattson@...gle.com>,
Joerg Roedel <joro@...tes.org>, kvm <kvm@...r.kernel.org>,
Dave Hansen <dave.hansen@...ux.intel.com>,
"Luck, Tony" <tony.luck@...el.com>,
Kan Liang <kan.liang@...ux.intel.com>,
Thomas Gleixner <tglx@...utronix.de>,
Ingo Molnar <mingo@...hat.com>, Borislav Petkov <bp@...en8.de>,
"H. Peter Anvin" <hpa@...or.com>,
Kim Phillips <kim.phillips@....com>,
Jarkko Sakkinen <jarkko@...nel.org>,
Jethro Beekman <jethro@...tanix.com>,
"Huang, Kai" <kai.huang@...el.com>,
the arch/x86 maintainers <x86@...nel.org>,
LKML <linux-kernel@...r.kernel.org>,
"Hu, Robert" <robert.hu@...el.com>,
"Gao, Chao" <chao.gao@...el.com>
Subject: Re: [PATCH v2 0/6] IPI virtualization support for VM
On 7/23/2021 2:11 PM, Wanpeng Li wrote:
> On Fri, 23 Jul 2021 at 13:41, Zeng Guang <guang.zeng@...el.com> wrote:
>
> --------------------------------------
> IPI microbenchmark:
> (https://lore.kernel.org/kvm/20171219085010.4081-1-ynorov@caviumnetworks.com)
>
> 2 vCPUs, 1:1 pin vCPU to pCPU, guest VM runs with idle=poll, x2APIC mode
> Improve the performance for unicast ipi is as expected, however, I
> wonder whether the broadcast performance is worse than PV
> IPIs/Thomas's IPI shorthands(IPI shorthands are supported by upstream
> linux apic/x2apic driver). The hardware acceleration is not always
> outstanding on AMD(https://lore.kernel.org/kvm/CANRm+Cx597FNRUCyVz1D=B6Vs2GX3Sw57X7Muk+yMpi_hb+v1w@mail.gmail.com/),
> how about your Intel guys? Please try a big VM at least 96 vCPUs as
> below or more bigger.
Intel IPIv target to accelerate unicast ipi process, not benefit to
broadcast performance.
As to IPI benchmark, it's not big different to test with large or small
scale of vCPUs. In essential, Normal IPI test try
to send ipi to any other online CPU in sequence. The cost on IPI process
itself should be similar.
>> Result with IPIv enabled:
>>
>> Dry-run: 0, 272798 ns
>> Self-IPI: 5094123, 11114037 ns
>> Normal IPI: 131697087, 173321200 ns
>> Broadcast IPI: 0, 155649075 ns
>> Broadcast lock: 0, 161518031 ns
>>
>> Result with IPIv disabled:
>>
>> Dry-run: 0, 272766 ns
>> Self-IPI: 5091788, 11123699 ns
>> Normal IPI: 145215772, 174558920 ns
>> Broadcast IPI: 0, 175785384 ns
>> Broadcast lock: 0, 149076195 ns
>>
>>
>> As IPIv can benefit unicast IPI to other CPU, Noraml IPI test case gain
>> about 9.73% time saving on average out of 15 test runs when IPIv is
>> enabled.
>>
>> w/o IPIv w/ IPIv
>> Normal IPI: 145944306.6 ns 131742993.1 ns
>> %Reduction -9.73%
>>
>> --------------------------------------
>> hackbench:
>>
>> 8 vCPUs, guest VM free run, x2APIC mode
>> ./hackbench -p -l 100000
>>
>> w/o IPIv w/ IPIv
>> Time: 91.887 74.605
>> %Reduction: -18.808%
>>
>> 96 vCPUs, guest VM free run, x2APIC mode
>> ./hackbench -p -l 1000000
>>
>> w/o IPIv w/ IPIv
>> Time: 287.504 235.185
>> %Reduction: -18.198%
> Good to know this.
>
> Wanpeng
Powered by blists - more mailing lists