Re: [PATCH] modpost: Optimize symbol search from linear to binary search

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, 2023-09-26 at 15:46 +0900, Masahiro Yamada wrote:
> On Tue, Sep 26, 2023 at 5:59 AM Jack Brennen <jbrennen@xxxxxxxxxx> wrote:
> 
> > +Elf_Sym *symsearch_find_nearest(struct elf_info *elf, Elf_Addr addr,
> > +                               unsigned int secndx, bool allow_negative,
> > +                               Elf_Addr min_distance)
> > +{
> > +       size_t hi = elf->symsearch->table_size;
> > +       size_t lo = 0;
> > +       struct syminfo *table = elf->symsearch->table;
> > +       struct syminfo target;
> > +
> > +       target.addr = addr;
> > +       target.section_index = secndx;
> > +       target.symbol_index = ~0;  /* compares greater than any actual index */
> > +       while (hi > lo) {
> > +               size_t mid = lo + (hi-lo)/2;   /* Avoids potential overflow */
> > +
> > +               if (syminfo_compare(&table[mid], &target) > 0)
> > +                       hi = mid;
> > +               else
> > +                       lo = mid+1;
> 
> My preference is "low = mid + 1" over "low = mid+1"
> 
> Documentation/process/coding-style.rst suggests spaces
> around binary operators.
> 
> "
> Use one space around (on each side of) most binary and ternary operators,
> such as any of these::
> 
>         =  +  -  <  >  *  /  %  |  &  ^  <=  >=  ==  !=  ?  :
> "
> 
> I can see the corresponding line in the checkpatch tool:
> 
> https://github.com/torvalds/linux/blob/v6.5/scripts/checkpatch.pl#L5330
> 
> 
> I wonder why the checkpatch did not detect it.
> 
> Maybe, Joe Perches may know the reason.

checkpatch requires --strict to emit that message.




[Index of Archives]     [Linux&nblp;USB Development]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite Secrets]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux