Re: [PATCH] Breaks the redundant loop in kernel/marker.c

From: Ingo Molnar
Date: Mon Oct 20 2008 - 02:52:29 EST



* Zhaolei <zhaolei@xxxxxxxxxxxxxx> wrote:

> Signed-off-by: Zhao Lei <zhaolei@xxxxxxxxxxxxxx>
> ---
> kernel/marker.c | 3 +--
> 1 files changed, 1 insertions(+), 2 deletions(-)
>
> diff --git a/kernel/marker.c b/kernel/marker.c
> index 7d1faec..2c3172d 100644
> --- a/kernel/marker.c
> +++ b/kernel/marker.c
> @@ -836,8 +836,6 @@ void *marker_get_private_data(const char *name, marker_probe_func *probe,
> if (!e->ptype) {
> if (num == 0 && e->single.func == probe)
> return e->single.probe_private;
> - else
> - break;
> } else {
> struct marker_probe_closure *closure;
> int match = 0;
> @@ -849,6 +847,7 @@ void *marker_get_private_data(const char *name, marker_probe_func *probe,
> return closure[i].probe_private;
> }
> }
> + break;
> }
> }
> return ERR_PTR(-ENOENT);

hm, could you describe the necessity of this patch some more? This has
the change to change behavior, which might even be a bugfix: is there
any chance that the closure-loop in the e->ptype != NULL branch does not
exit? Before your patch we'd continue the iteration - which _probably_
does not lead to any more matches (e->name is supposed to be unique).

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