RE: aio is unlikely

From: Alex Volkov
Date: Fri May 18 2007 - 16:57:18 EST



Andrew Morton wrote:
> aio is unlikely
> Stick an unlikely() around is_aio(): I assert that most IO is
synchronous.
>
> -#define in_aio() !is_sync_wait(current->io_wait)
> +#define in_aio() (unlikely(!is_sync_wait(current->io_wait)))

> Jeff Garzik <jeff@xxxxxxxxxx> wrote:
>
> > > -#define in_aio() !is_sync_wait(current->io_wait)
> > > +#define in_aio() (unlikely(!is_sync_wait(current->io_wait)))
> >
> > Please revert. Workload-dependent "likelihood" should not cause
> > programmers to add such markers.
> a) disagree with the above
>
> b) if in_aio() ever returns true we do
>
> printk(KERN_ERR "%s(%s:%d) called in async context!\n",
> __FUNCTION__, __FILE__, __LINE__);
>
> so I sure hope it's unlikely for all workloads.

Shouldn't unlikely() go where in_aio() is actually used, if we printk(error)
there?
Isn't putting likely/unlikely into a boolean function-like macro itself
asking for later trouble?

--Alex.


-
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/