perf namespaces: Introduce nsinfo__refcnt() accessor to avoid accessing ->refcnt...
authorArnaldo Carvalho de Melo <acme@redhat.com>
Tue, 18 Apr 2023 01:11:58 +0000 (22:11 -0300)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Tue, 18 Apr 2023 01:22:12 +0000 (22:22 -0300)
To reduces the use of RC_CHK_ACCESS(nsi).

Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/util/namespaces.c

index 214a8391e07cbe6162201cae3a911595ca5a9092..2f9fb1e2769cc2cc63d8d07cf29cff8dd10013cb 100644 (file)
@@ -204,11 +204,15 @@ struct nsinfo *nsinfo__copy(const struct nsinfo *nsi)
        return nnsi;
 }
 
+static refcount_t *nsinfo__refcnt(struct nsinfo *nsi)
+{
+       return &RC_CHK_ACCESS(nsi)->refcnt;
+}
+
 static void nsinfo__delete(struct nsinfo *nsi)
 {
        if (nsi) {
-               WARN_ONCE(refcount_read(&RC_CHK_ACCESS(nsi)->refcnt) != 0,
-                       "nsinfo refcnt unbalanced\n");
+               WARN_ONCE(refcount_read(nsinfo__refcnt(nsi)) != 0, "nsinfo refcnt unbalanced\n");
                zfree(&RC_CHK_ACCESS(nsi)->mntns_path);
                RC_CHK_FREE(nsi);
        }
@@ -219,14 +223,14 @@ struct nsinfo *nsinfo__get(struct nsinfo *nsi)
        struct nsinfo *result;
 
        if (RC_CHK_GET(result, nsi))
-               refcount_inc(&RC_CHK_ACCESS(nsi)->refcnt);
+               refcount_inc(nsinfo__refcnt(nsi));
 
        return result;
 }
 
 void nsinfo__put(struct nsinfo *nsi)
 {
-       if (nsi && refcount_dec_and_test(&RC_CHK_ACCESS(nsi)->refcnt))
+       if (nsi && refcount_dec_and_test(nsinfo__refcnt(nsi)))
                nsinfo__delete(nsi);
        else
                RC_CHK_PUT(nsi);