perf tools: Remove const from thread read accessors
authorNamhyung Kim <namhyung@kernel.org>
Mon, 27 May 2019 06:11:49 +0000 (15:11 +0900)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Tue, 28 May 2019 21:37:43 +0000 (18:37 -0300)
The namespaces and comm fields of a thread are protected by rwsem and
require write access for it.  So it ended up using a cast to remove
the const qualifier.  Let's get rid of the const then.

Signed-off-by: Namhyung Kim <namhyung@kernel.org>
Suggested-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: Hari Bathini <hbathini@linux.vnet.ibm.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Krister Johansen <kjlx@templeofstupid.com>
Link: http://lkml.kernel.org/r/20190527061149.168640-1-namhyung@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/util/hist.c
tools/perf/util/thread.c
tools/perf/util/thread.h

index 7ace7a10054d82da540825ad2eb36d5a85b0a6a4..fb3271fd420ca7ecc8fad7589647673cf10ab655 100644 (file)
@@ -2561,7 +2561,7 @@ int __hists__scnprintf_title(struct hists *hists, char *bf, size_t size, bool sh
        char unit;
        int printed;
        const struct dso *dso = hists->dso_filter;
-       const struct thread *thread = hists->thread_filter;
+       struct thread *thread = hists->thread_filter;
        int socket_id = hists->socket_filter;
        unsigned long nr_samples = hists->stats.nr_events[PERF_RECORD_SAMPLE];
        u64 nr_events = hists->stats.total_period;
index b413ba5b98350295d2c47eaf520c61f5a7d15acd..aab7807d445ffbcc14f275f34a8eaf1918208224 100644 (file)
@@ -141,13 +141,13 @@ static struct namespaces *__thread__namespaces(const struct thread *thread)
        return list_first_entry(&thread->namespaces_list, struct namespaces, list);
 }
 
-struct namespaces *thread__namespaces(const struct thread *thread)
+struct namespaces *thread__namespaces(struct thread *thread)
 {
        struct namespaces *ns;
 
-       down_read((struct rw_semaphore *)&thread->namespaces_lock);
+       down_read(&thread->namespaces_lock);
        ns = __thread__namespaces(thread);
-       up_read((struct rw_semaphore *)&thread->namespaces_lock);
+       up_read(&thread->namespaces_lock);
 
        return ns;
 }
@@ -271,13 +271,13 @@ static const char *__thread__comm_str(const struct thread *thread)
        return comm__str(comm);
 }
 
-const char *thread__comm_str(const struct thread *thread)
+const char *thread__comm_str(struct thread *thread)
 {
        const char *str;
 
-       down_read((struct rw_semaphore *)&thread->comm_lock);
+       down_read(&thread->comm_lock);
        str = __thread__comm_str(thread);
-       up_read((struct rw_semaphore *)&thread->comm_lock);
+       up_read(&thread->comm_lock);
 
        return str;
 }
index cf8375c017a03a1b5e8ba273d8b7d2e24a503c3d..e97ef6977eb91c120ce08c78bd17f4dad4b777f1 100644 (file)
@@ -76,7 +76,7 @@ static inline void thread__exited(struct thread *thread)
        thread->dead = true;
 }
 
-struct namespaces *thread__namespaces(const struct thread *thread);
+struct namespaces *thread__namespaces(struct thread *thread);
 int thread__set_namespaces(struct thread *thread, u64 timestamp,
                           struct namespaces_event *event);
 
@@ -93,7 +93,7 @@ int thread__set_comm_from_proc(struct thread *thread);
 int thread__comm_len(struct thread *thread);
 struct comm *thread__comm(const struct thread *thread);
 struct comm *thread__exec_comm(const struct thread *thread);
-const char *thread__comm_str(const struct thread *thread);
+const char *thread__comm_str(struct thread *thread);
 int thread__insert_map(struct thread *thread, struct map *map);
 int thread__fork(struct thread *thread, struct thread *parent, u64 timestamp, bool do_maps_clone);
 size_t thread__fprintf(struct thread *thread, FILE *fp);