From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sheng Yang Subject: Re: [patch 0/4] use smp_send_reschedule in vcpu_kick / assigned dev host intx race fix Date: Wed, 6 May 2009 13:07:55 +0800 Message-ID: <200905061307.56202.sheng@linux.intel.com> References: <20090427210740.675732111@amt.cnet> <200904300856.57926.sheng@linux.intel.com> <200904300959.57479.sheng@linux.intel.com> Mime-Version: 1.0 Content-Type: Text/Plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Cc: kvm@vger.kernel.org, Marcelo Tosatti To: Avi Kivity Return-path: Received: from mga09.intel.com ([134.134.136.24]:51852 "EHLO mga09.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751619AbZEFFHa (ORCPT ); Wed, 6 May 2009 01:07:30 -0400 In-Reply-To: <200904300959.57479.sheng@linux.intel.com> Content-Disposition: inline Sender: kvm-owner@vger.kernel.org List-ID: On Thursday 30 April 2009 09:59:56 Sheng Yang wrote: > On Thursday 30 April 2009 08:56:57 Sheng Yang wrote: > > On Thursday 30 April 2009 01:47:57 Marcelo Tosatti wrote: > > > On Tue, Apr 28, 2009 at 03:08:46PM +0800, Sheng Yang wrote: > > > > Ack all. This also solved one bug by my hand. Thanks! > > > > > > > > I observe one point: the performance of high workload interrupt(e.g. > > > > 10 gigabyte oplin card) dropped dramatically with > > > > smp_send_reschedule() method... In one environment(the speed of oplin > > > > card also limited by cpu performance), Using > > > > smp_call_function_single() can get more than 1G bit/s stably(native > > > > got 1.2G), but smp_send_reschedule() can only got around 600M > > > > bit/s... And the rescheduling interrupt number is about 2000/second > > > > per cpu. And the interrupt rate is about tens of thousands per second > > > > for the device. > > > > > > > > Anyway, this method is more elegant and correct. Though there is > > > > still room for optimize - but of course, the correctness is first > > > > priority. > > > > > > Are you using the compat code or a kvm.git kernel? Can you remove only > > > the last patch (the spinlock) to confirm its the cause of the slowdown? > > > > I am using kvm.git. > > > > I said this because I tried the old version of patch(which have warning) > > and it would got more than 1G/sec. > > > > I'd like to take a close look at what's happened. > > Still ACK this patchset. > > And sorry, my memory messed... > > The old version of patch and this one offered the same performance. So the > problem is not here. > > I get more than 1g per second by one of myself's experiment. > > Disable/enable irq purposed to use with level interrupt to prevent it send > interrupt again after kernel handler return, but it not applied to > MSI/MSI-X. Though some interrupt may be merged with one, but AFAIK the > driver can handle it well. > > My experiment is discard disable/enable IRQ for MSI/MSI-X, then can get > much better performance for oplin card, 2x with disable/enable one. > > I would prepare a patch for it. Hi Avi Is there any issue blocked this patchset? Thanks! -- regards Yang, Sheng