WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

Re: [Xen-devel] [RFC] irq rate limit

To: Keir Fraser <keir.fraser@xxxxxxxxxxxxx>
Subject: Re: [Xen-devel] [RFC] irq rate limit
From: Qing He <qing.he@xxxxxxxxx>
Date: Wed, 9 Sep 2009 17:07:00 +0800
Cc: "xen-devel@xxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxx>
Delivery-date: Wed, 09 Sep 2009 02:01:40 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <C6CD2A68.13F35%keir.fraser@xxxxxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <20090909084825.GA25462@ub-qhe2> <C6CD2A68.13F35%keir.fraser@xxxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Mutt/1.5.17+20080114 (2008-01-14)
On Wed, 2009-09-09 at 16:48 +0800, Keir Fraser wrote:
> On 09/09/2009 09:48, "Qing He" <qing.he@xxxxxxxxx> wrote:
> 
> > This is a poc patch of guest irq ratelimit. The main motivation is
> > to ensure Xen's responsiveness during an irq storm, that caused by
> > improper hardware or drivers. If one interrupt is fired at a high
> > rate (>10k/10ms in the poc), it is disabled until the next periodic
> > timer_fn. A global generation counter is used to minimize overhead.
> 
> What's the generation counter for? Why not just zero desc->rl_cnt in the
> timer handler?

If zeroing desc->rl_cnt in the timer handler, we have to zero that of
all irqs. If the numbers of possible irqs is big or sparse, it's a bit
painful.

Also, possibly it needs to be moved out of irq_desc and use atomic_t to
avoid spinlocking every irq_desc in the timer handler.

Thanks,
Qing

> 
>  -- Keir
> 
> 

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel