From mboxrd@z Thu Jan 1 00:00:00 1970 From: Konrad Rzeszutek Wilk Subject: Re: [RFC PATCH v1] Replace tasklets with per-cpu implementation. Date: Fri, 29 Aug 2014 09:46:49 -0400 Message-ID: <20140829134649.GC3609@laptop.dumpdata.com> References: <1409162329-6094-1-git-send-email-konrad.wilk@oracle.com> <53FF3F3A020000780002EB62@mail.emea.novell.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Received: from mail6.bemta3.messagelabs.com ([195.245.230.39]) by lists.xen.org with esmtp (Exim 4.72) (envelope-from ) id 1XNMW1-0004vO-T3 for xen-devel@lists.xenproject.org; Fri, 29 Aug 2014 13:46:58 +0000 Content-Disposition: inline In-Reply-To: <53FF3F3A020000780002EB62@mail.emea.novell.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Jan Beulich Cc: xen-devel@lists.xenproject.org, keir@xen.org List-Id: xen-devel@lists.xenproject.org On Thu, Aug 28, 2014 at 01:39:54PM +0100, Jan Beulich wrote: > >>> On 27.08.14 at 19:58, wrote: > > The 'hvm_do_IRQ_dpci' is the on that is most often scheduled > > and run. The performance bottleneck comes from the fact that > > we take the same spinlock three times: tasklet_schedule, > > when we are about to execute the tasklet, and when we are > > done executing the tasklet. > > Before starting all the work here, did you investigate alternatives > to this specific use of a tasklet? E.g., it being a softirq one, making > it have its own softirq? If I understand you right, you mean implement an tasklet API that would only been be used by the hvm_do_IRQ_dpci? Its own spinlock, list, and an seperate tasklet_schedule? I did think about it a bit a the start, but discarded it since I figured it would be a no-go upstream - as it is an one-off and seems hackish. I can certainly prototype one up and see if it matches the performance of this implementation if you would like?