lkml.org 
[lkml]   [2023]   [Nov]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    Subject[PATCH v5 20/50] perf maps: Rename clone to copy from
    From
    Rename maps__clone to maps__copy_from to be more intention revealing
    of its behavior. Pass the underlying maps rather than the thread.

    Signed-off-by: Ian Rogers <irogers@google.com>
    ---
    tools/perf/util/machine.c | 2 +-
    tools/perf/util/maps.c | 6 +-----
    tools/perf/util/maps.h | 3 +--
    tools/perf/util/thread.c | 2 +-
    4 files changed, 4 insertions(+), 9 deletions(-)

    diff --git a/tools/perf/util/machine.c b/tools/perf/util/machine.c
    index 3c967295c9a3..191e492539e5 100644
    --- a/tools/perf/util/machine.c
    +++ b/tools/perf/util/machine.c
    @@ -454,7 +454,7 @@ static struct thread *findnew_guest_code(struct machine *machine,
    * Guest code can be found in hypervisor process at the same address
    * so copy host maps.
    */
    - err = maps__clone(thread, thread__maps(host_thread));
    + err = maps__copy_from(thread__maps(thread), thread__maps(host_thread));
    thread__put(host_thread);
    if (err)
    goto out_err;
    diff --git a/tools/perf/util/maps.c b/tools/perf/util/maps.c
    index 14e1a169433d..85bea2a6dca9 100644
    --- a/tools/perf/util/maps.c
    +++ b/tools/perf/util/maps.c
    @@ -452,12 +452,8 @@ int maps__fixup_overlap_and_insert(struct maps *maps, struct map *new)
    return err;
    }

    -/*
    - * XXX This should not really _copy_ te maps, but refcount them.
    - */
    -int maps__clone(struct thread *thread, struct maps *parent)
    +int maps__copy_from(struct maps *maps, struct maps *parent)
    {
    - struct maps *maps = thread__maps(thread);
    int err;
    struct map_rb_node *rb_node;

    diff --git a/tools/perf/util/maps.h b/tools/perf/util/maps.h
    index 62e94d443c02..e4a49d6ff5cf 100644
    --- a/tools/perf/util/maps.h
    +++ b/tools/perf/util/maps.h
    @@ -14,7 +14,6 @@ struct ref_reloc_sym;
    struct machine;
    struct map;
    struct maps;
    -struct thread;

    struct map_rb_node {
    struct rb_node rb_node;
    @@ -61,7 +60,7 @@ struct kmap {

    struct maps *maps__new(struct machine *machine);
    bool maps__empty(struct maps *maps);
    -int maps__clone(struct thread *thread, struct maps *parent);
    +int maps__copy_from(struct maps *maps, struct maps *parent);

    struct maps *maps__get(struct maps *maps);
    void maps__put(struct maps *maps);
    diff --git a/tools/perf/util/thread.c b/tools/perf/util/thread.c
    index 3d47b5c5528b..89c47a5098e2 100644
    --- a/tools/perf/util/thread.c
    +++ b/tools/perf/util/thread.c
    @@ -390,7 +390,7 @@ static int thread__clone_maps(struct thread *thread, struct thread *parent, bool
    return 0;
    }
    /* But this one is new process, copy maps. */
    - return do_maps_clone ? maps__clone(thread, thread__maps(parent)) : 0;
    + return do_maps_clone ? maps__copy_from(thread__maps(thread), thread__maps(parent)) : 0;
    }

    int thread__fork(struct thread *thread, struct thread *parent, u64 timestamp, bool do_maps_clone)
    --
    2.43.0.rc1.413.gea7ed67945-goog
    \
     
     \ /
      Last update: 2023-11-27 23:12    [W:3.859 / U:1.036 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site