[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v8 for-xen-4.5 2/2] dpci: Replace tasklet with an softirq (v8)
>>> On 27.10.14 at 22:13, <konrad.wilk@xxxxxxxxxx> wrote: > + /* > + * A crude 'while' loop with us dropping the spinlock and giving > + * the softirq_dpci a chance to run. > + * We MUST check for this condition as the softirq could be scheduled > + * and hasn't run yet. Note that this code replaced tasklet_kill which > + * would have spun forever and would do the same thing (wait to flush out > + * outstanding hvm_dirq_assist calls. > + */ > + if ( pt_pirq_softirq_active(pirq_dpci) ) > + { > + spin_unlock(&d->event_lock); > + if ( pirq_dpci->cpu >= 0 && pirq_dpci->cpu != smp_processor_id() ) > + { > + /* > + * The 'raise_softirq_for' sets the CPU and raises the softirq > bit > + * so we do not need to set the target CPU's HVM_DPCI_SOFTIRQ. > + */ > + smp_send_event_check_cpu(pirq_dpci->cpu); > + pirq_dpci->cpu = -1; > + } > + cpu_relax(); > + goto restart; > + } As said in an earlier reply to Andrew, I think this open coding goes too far. And with the softirq known to have got sent, I also don't really see why it needs to be resent _at all_ (and the comments don't explain this either). Jan _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |