> On Thu, 2011-08-04 at 17:20 +0100, Olaf Hering wrote:> > During a kexec boot some virqs such as timer and debugirq were already> > registered by the old kernel. The hypervisor will return -EEXISTS from> > the new EVTCHNOP_bind_virq request and the BUG in bind_virq_to_irq()> > triggers. Catch the -EEXISTS error and loop through all possible ports to find> > what port belongs to the virq/cpu combo.> > Would it be better to proactively just query the status of all event> channels early on, like you do in find_virq, and setup the irq info> structures as appropriate? Rather than waiting for an -EEXISTS I mean.

Doing one hypercall in the common case is cheaper than doing a dozen inthe kexec case.