Re: [tip:x86/apic] x86/ioapic.c: unify ioapic_retrigger_irq()

From: Eric W. Biederman
Date: Wed Jul 22 2009 - 17:29:57 EST


Jeremy Fitzhardinge <jeremy@xxxxxxxx> 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@xxxxxxxxxx>
>> AuthorDate: Mon, 8 Jun 2009 03:49:01 -0700
>> Committer: Jeremy Fitzhardinge <jeremy.fitzhardinge@xxxxxxxxxx>
>> 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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/