RE: [RFC][PATCH] irq_work: Don't ignore possible cmpxchg failure

From: Aguirre, Sergio
Date: Tue Nov 16 2010 - 12:12:13 EST




> -----Original Message-----
> From: Peter Zijlstra [mailto:a.p.zijlstra@xxxxxxxxx]
> Sent: Tuesday, November 16, 2010 11:09 AM
> To: Aguirre, Sergio
> Cc: LKML; Huang Ying; Martin Schwidefsky; Ingo Molnar; Kyle McMartin
> Subject: RE: [RFC][PATCH] irq_work: Don't ignore possible cmpxchg failure
>
> On Tue, 2010-11-16 at 10:57 -0600, Aguirre, Sergio wrote:
>
> > > > @@ -145,7 +145,10 @@ void irq_work_run(void)
> > > > * Clear the BUSY bit and return to the free state if
> > > > * no-one else claimed it meanwhile.
> > > > */
> > > > - cmpxchg(&entry->next, next_flags(NULL, IRQ_WORK_BUSY),
> NULL);
> > > > + xchgres = cmpxchg(&entry->next,
> > > > + next_flags(NULL, IRQ_WORK_BUSY),
> > > > + NULL);
> > > > + BUG_ON(unlikely(xchgres != next_flags(NULL,
> IRQ_WORK_BUSY)));
> > >
> > > simply adding (void) in front would be much easier.
> >
> > But isn't that still leaving the remote possibility of a hidden cmpxchg
> > Failure open?
>
> No, we don't care if it fails, read the comment. All we want to know is
> that if it still matched, we flipped the bit.

I understand. Will add just a (void) typecast, and resend then.

Regards,
Sergio
--
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/