Re: [PATCH] conditionalize some boring buffer_head checks

Andrew Morton
2004-04-14T07:59:22Z

Jeff Garzik <jgarzik@pobox.com> wrote:
>
>
> These checks are executed billions of times per day, with no stack dump
> bug reports sent to lkml. Arguably, they will only trigger on buggy
> filesystems (programmer error), and thus IMO shouldn't even be executed
> in a non-debug kernel.
>
> Even though BUG_ON() includes unlikely(), I think this patch -- or
> something like it -- is preferable. The buffer_error() checks aren't
> even marked unlikely().
>
> This is a micro-optimization on a key kernel fast path.
>

buffer_error() was always supposed to be temporary. Once per month someone
reports the one in __find_get_block_slow(), but that's all. The only
reason for keeping it around is as a debug aid to filesystem developers.

We could make it a no-op if !CONFIG_BUFFER_DEBUG.