From mboxrd@z Thu Jan 1 00:00:00 1970 From: Joe Perches Subject: Re: [PATCH] module: Use binary search in lookup_symbol() Date: Mon, 16 May 2011 14:01:34 -0700 Message-ID: <1305579694.2503.18.camel@Joe-Laptop> References: <1305577420-3685-1-git-send-email-abogani@kernel.org> Mime-Version: 1.0 Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <1305577420-3685-1-git-send-email-abogani@kernel.org> Sender: linux-kernel-owner@vger.kernel.org List-ID: Content-Type: text/plain; charset="us-ascii" To: Alessio Igor Bogani Cc: Rusty Russell , Anders Kaseorg , Tim Abbott , Tim Bird , LKML , Linux Embedded , Jason Wessel , Dirk Behme On Mon, 2011-05-16 at 22:23 +0200, Alessio Igor Bogani wrote: > This work was supported by a hardware donation from the CE Linux Forum. > > Signed-off-by: Alessio Igor Bogani > --- > kernel/module.c | 6 ++---- > 1 files changed, 2 insertions(+), 4 deletions(-) > > diff --git a/kernel/module.c b/kernel/module.c > index 6a34337..54355c5 100644 > --- a/kernel/module.c > +++ b/kernel/module.c > @@ -2055,10 +2055,8 @@ static const struct kernel_symbol *lookup_symbol(const char *name, > const struct kernel_symbol *stop) > { > const struct kernel_symbol *ks = start; > - for (; ks < stop; ks++) > - if (strcmp(ks->name, name) == 0) > - return ks; > - return NULL; > + return bsearch(name, start, stop - start, > + sizeof(struct kernel_symbol), cmp_name); > } > > static int is_exported(const char *name, unsigned long value, ks isn't used anymore. why cmp_name and not strcmp?