Re: [Xen-devel] [PATCH v10 for-xen-4.5 2/2] dpci: Replace tasklet with an softirq

2014-11-20 Thread Jan Beulich
>>> On 19.11.14 at 17:44, wrote: > On Fri, Nov 14, 2014 at 11:11:46AM -0500, Konrad Rzeszutek Wilk wrote: >> On Fri, Nov 14, 2014 at 03:13:42PM +, Jan Beulich wrote: >> > >>> On 12.11.14 at 03:23, wrote: >> > > +static void pt_pirq_softirq_reset(struct hvm_pirq_dpci *pirq_dpci) >> > > +{ >> >

Re: [Xen-devel] [PATCH v10 for-xen-4.5 2/2] dpci: Replace tasklet with an softirq

2014-11-19 Thread Konrad Rzeszutek Wilk
On Fri, Nov 14, 2014 at 11:11:46AM -0500, Konrad Rzeszutek Wilk wrote: > On Fri, Nov 14, 2014 at 03:13:42PM +, Jan Beulich wrote: > > >>> On 12.11.14 at 03:23, wrote: > > > +static void pt_pirq_softirq_reset(struct hvm_pirq_dpci *pirq_dpci) > > > +{ > > > +struct domain *d = pirq_dpci->dom

Re: [Xen-devel] [PATCH v10 for-xen-4.5 2/2] dpci: Replace tasklet with an softirq

2014-11-14 Thread Jan Beulich
>>> On 14.11.14 at 17:11, wrote: > On Fri, Nov 14, 2014 at 03:13:42PM +, Jan Beulich wrote: >> >>> On 12.11.14 at 03:23, wrote: >> > +static void pt_pirq_softirq_reset(struct hvm_pirq_dpci *pirq_dpci) >> > +{ >> > +struct domain *d = pirq_dpci->dom; >> > + >> > +ASSERT(spin_is_locked(

Re: [Xen-devel] [PATCH v10 for-xen-4.5 2/2] dpci: Replace tasklet with an softirq

2014-11-14 Thread Konrad Rzeszutek Wilk
On Fri, Nov 14, 2014 at 03:13:42PM +, Jan Beulich wrote: > >>> On 12.11.14 at 03:23, wrote: > > +static void pt_pirq_softirq_reset(struct hvm_pirq_dpci *pirq_dpci) > > +{ > > +struct domain *d = pirq_dpci->dom; > > + > > +ASSERT(spin_is_locked(&d->event_lock)); > > + > > +switch (

Re: [Xen-devel] [PATCH v10 for-xen-4.5 2/2] dpci: Replace tasklet with an softirq

2014-11-14 Thread Jan Beulich
>>> On 12.11.14 at 03:23, wrote: > +static void pt_pirq_softirq_reset(struct hvm_pirq_dpci *pirq_dpci) > +{ > +struct domain *d = pirq_dpci->dom; > + > +ASSERT(spin_is_locked(&d->event_lock)); > + > +switch ( cmpxchg(&pirq_dpci->state, 1 << STATE_SCHED, 0) ) > +{ > +case (1 <<

[Xen-devel] [PATCH v10 for-xen-4.5 2/2] dpci: Replace tasklet with an softirq

2014-11-11 Thread Konrad Rzeszutek Wilk
The existing tasklet mechanism has a single global spinlock that is taken every-time the global list is touched. And we use this lock quite a lot - when we call do_tasklet_work which is called via an softirq and from the idle loop. We take the lock on any operation on the tasklet_list. The problem