Re: [PATCH -mm] tasklet_unlock_wait() cpu_relax()

From: Christoph Hellwig
Date: Fri Jun 16 2006 - 09:47:39 EST


On Wed, Jun 14, 2006 at 09:29:20PM +0200, Andreas Mohr wrote:
> Hi all,
>
> use cpu_relax() here, too (instead of barrier()).
>
> Signed-off-by: Andreas Mohr <andi@xxxxxxxx>
>
>
> diff -urN linux-2.6.17-rc6-mm2.orig/include/linux/interrupt.h linux-2.6.17-rc6-mm2.my/include/linux/interrupt.h
> --- linux-2.6.17-rc6-mm2.orig/include/linux/interrupt.h 2006-06-13 19:28:16.000000000 +0200
> +++ linux-2.6.17-rc6-mm2.my/include/linux/interrupt.h 2006-06-14 20:35:49.000000000 +0200
> @@ -227,7 +227,7 @@
>
> static inline void tasklet_unlock_wait(struct tasklet_struct *t)
> {
> - while (test_bit(TASKLET_STATE_RUN, &(t)->state)) { barrier(); }
> + while (test_bit(TASKLET_STATE_RUN, &(t)->state)) { cpu_relax(); }
> }

While you're at it could you reformat it to proper kernel style, e.g.:

static inline void tasklet_unlock_wait(struct tasklet_struct *t)
{
while (test_bit(TASKLET_STATE_RUN, &t->state))
cpu_relax();
}
-
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/