Sorry, NACK-ing this for now, since it hasn't been applied, and I'm
about to post a patch that subsumes it.
-George
On Tue, Sep 27, 2011 at 12:54 PM, George Dunlap
<George.Dunlap@xxxxxxxxxxxxx> wrote:
> Acked-by: George Dunlap <george.dunlap@xxxxxxxxxxxxx>
>
> On Mon, Sep 26, 2011 at 5:33 PM, Andrew Cooper
> <andrew.cooper3@xxxxxxxxxx> wrote:
>> c/s 23816:7f357e1ef60a introduces cfg->old_vector and removes a loop
>> as a result.
>>
>> Outside the loop, 'vector' is set to cfg->vector, but the loop aliased
>> 'vector' to mean cfg->old_vector at the point at which this TRACE_3D
>> is executed.
>>
>> Therefore, when the loop was removed, the code still compiled, although
>> the trace would record incorrect information.
>>
>> Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
>>
>> diff -r a422e2a4451e -r 88b8953f5f5a xen/arch/x86/irq.c
>> --- a/xen/arch/x86/irq.c Sun Sep 18 00:26:52 2011 +0100
>> +++ b/xen/arch/x86/irq.c Mon Sep 26 17:31:32 2011 +0100
>> @@ -235,7 +235,7 @@ static void __clear_irq_vector(int irq)
>> cpus_and(tmp_mask, cfg->old_cpu_mask, cpu_online_map);
>> for_each_cpu_mask(cpu, tmp_mask) {
>> ASSERT( per_cpu(vector_irq, cpu)[cfg->old_vector] == irq );
>> - TRACE_3D(TRC_HW_IRQ_MOVE_FINISH, irq, vector, cpu);
>> + TRACE_3D(TRC_HW_IRQ_MOVE_FINISH, irq, cfg->old_vector, cpu);
>> per_cpu(vector_irq, cpu)[cfg->old_vector] = -1;
>> }
>>
>>
>> _______________________________________________
>> Xen-devel mailing list
>> Xen-devel@xxxxxxxxxxxxxxxxxxx
>> http://lists.xensource.com/xen-devel
>>
>
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|