From mboxrd@z Thu Jan 1 00:00:00 1970 From: Christian Borntraeger Subject: Re: [PATCH v4] kvm/irqchip: Speed up KVM_SET_GSI_ROUTING Date: Tue, 29 Apr 2014 09:55:42 +0200 Message-ID: <535F5AFE.2050008@de.ibm.com> References: <1398703176-17812-1-git-send-email-pbonzini@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Cc: kvm@vger.kernel.org, Marcelo Tosatti , "Michael S. Tsirkin" To: Paolo Bonzini , linux-kernel@vger.kernel.org Return-path: In-Reply-To: <1398703176-17812-1-git-send-email-pbonzini@redhat.com> Sender: linux-kernel-owner@vger.kernel.org List-Id: kvm.vger.kernel.org On 28/04/14 18:39, Paolo Bonzini wrote: > From: Christian Borntraeger > > When starting lots of dataplane devices the bootup takes very long on > Christian's s390 with irqfd patches. With larger setups he is even > able to trigger some timeouts in some components. Turns out that the > KVM_SET_GSI_ROUTING ioctl takes very long (strace claims up to 0.1 sec) > when having multiple CPUs. This is caused by the synchronize_rcu and > the HZ=100 of s390. By changing the code to use a private srcu we can > speed things up. This patch reduces the boot time till mounting root > from 8 to 2 seconds on my s390 guest with 100 disks. > > Uses of hlist_for_each_entry_rcu, hlist_add_head_rcu, hlist_del_init_rcu > are fine because they do not have lockdep checks (hlist_for_each_entry_rcu > uses rcu_dereference_raw rather than rcu_dereference, and write-sides > do not do rcu lockdep at all). > > Note that we're hardly relying on the "sleepable" part of srcu. We just > want SRCU's faster detection of grace periods. > > Testing was done by Andrew Theurer using NETPERF. The difference between > results "before" and "after" the patch has mean -0.2% and standard deviation > 0.6%. Using a paired t-test on the data points says that there is a 2.5% > probability that the patch is the cause of the performance difference > (rather than a random fluctuation). > > Cc: Marcelo Tosatti > Cc: Michael S. Tsirkin > Signed-off-by: Christian Borntraeger > Signed-off-by: Paolo Bonzini Thanks for moving that patch forward to the latest kernel version (plus your fixes) I can confirm that it still fixes the performance issue on s390.