lkml.org 
[lkml]   [2020]   [Mar]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[PATCH v3 15/26] objtool: Delete cleanup()
    Perf shows we spend a measurable amount of time spend cleaning up
    right before we exit anyway. Avoid the needsless work and just
    terminate.

    This reduces objtool on vmlinux.o runtime from 5.4s to 4.8s

    Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
    Acked-by: Josh Poimboeuf <jpoimboe@redhat.com>
    ---
    tools/objtool/check.c | 19 -------------------
    1 file changed, 19 deletions(-)

    --- a/tools/objtool/check.c
    +++ b/tools/objtool/check.c
    @@ -2476,23 +2476,6 @@ static int validate_reachable_instructio
    return 0;
    }

    -static void cleanup(struct objtool_file *file)
    -{
    - struct instruction *insn, *tmpinsn;
    - struct alternative *alt, *tmpalt;
    -
    - list_for_each_entry_safe(insn, tmpinsn, &file->insn_list, list) {
    - list_for_each_entry_safe(alt, tmpalt, &insn->alts, list) {
    - list_del(&alt->list);
    - free(alt);
    - }
    - list_del(&insn->list);
    - hash_del(&insn->hash);
    - free(insn);
    - }
    - elf_close(file->elf);
    -}
    -
    static struct objtool_file file;

    int check(const char *_objname, bool orc)
    @@ -2560,8 +2543,6 @@ int check(const char *_objname, bool orc
    }

    out:
    - cleanup(&file);
    -
    if (ret < 0) {
    /*
    * Fatal error. The binary is corrupt or otherwise broken in

    \
     
     \ /
      Last update: 2020-03-24 17:13    [W:5.374 / U:0.640 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site