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. -- regards Yang, Sheng -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html