Messages in this thread | | | From | (Eric W. Biederman) | Date | Wed, 22 Jul 2009 14:29:33 -0700 | Subject | Re: [tip:x86/apic] x86/ioapic.c: unify ioapic_retrigger_irq() |
| |
Jeremy Fitzhardinge <jeremy@goop.org> writes:
> On 07/18/09 05:05, tip-bot for Jeremy Fitzhardinge wrote: >> Commit-ID: e25371d60cb06a44d7a32d7966ab9bfbeacb9390 >> Gitweb: http://git.kernel.org/tip/e25371d60cb06a44d7a32d7966ab9bfbeacb9390 >> Author: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com> >> AuthorDate: Mon, 8 Jun 2009 03:49:01 -0700 >> Committer: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com> >> CommitDate: Tue, 14 Jul 2009 13:32:51 -0700 >> >> x86/ioapic.c: unify ioapic_retrigger_irq() >> >> The 32 and 64-bit versions of ioapic_retrigger_irq() are identical >> except the 64-bit one takes vector_lock. vector_lock is defined and >> used on 32-bit too, so just use a common ioapic_retrigger_irq(). >> > > Having another look at this patch, the other difference is that the > 32-bit version just does: > > apic->send_IPI_self(irq_cfg(irq)->vector); > > whereas the 64-bit does: > > apic->send_IPI_mask(cpumask_of(cpumask_first(cfg->domain)), > cfg->vector); > > > Does 32-bit do the whole vector domain thing now? Are these actually > equivalent? Sending to self seems like it should be more efficient.
It should. I believe YH did that work when he merged the x86_64 and i386 versions io_apic.c. Sending to self is a problem if we retrigger this from the wrong irq.
Eric
| |