On Sep 23, 2010, at 6:46 PM, Mathieu Desnoyers wrote:

* David Goulet ([email protected]) wrote:
This is the first patch introducing the new naming convention
for the UST tracer. To prevent namespace pollution, __ust_ prefix
is added to visible symbol in global header files.

I'd use the "ust_" prefix rather than "__ust_", because __ is usually
reserved for the compiler (and makes function names needlessly long).

What about just one underscore then? Here is what the GNU coding conventions have to say:

External symbols that are not documented entry points for the user should have names beginning with ‘_’. The ‘_’ should be followed by the chosen name prefix for the library, to prevent collisions with other libraries. These can go in the same files with user entry points if you like.

http://www.gnu.org/prep/standards/standards.html#Libraries

The idea is to mark these out as non-external while everything that is external is prefixed with ust_ (we might want to consider this for trace_mark etc as well? Though that should be carefully considered I think.)

/Nils

Mathieu


For this patch, only the container_of macro is renamed and the
redundant definition in kcompat/simple.h is removed.

Signed-off-by: David Goulet <[email protected]>
---
include/ust/core.h           |    2 +-
include/ust/kcompat/simple.h |   12 ------------
libust/buffers.c             |    6 +++---
libust/channels.c            |    2 +-
libust/marker.c              |    2 +-
libust/tracepoint.c          |    4 ++--
libust/tracer.c              |    2 +-
7 files changed, 9 insertions(+), 21 deletions(-)

diff --git a/include/ust/core.h b/include/ust/core.h
index 0172614..e23224a 100644
--- a/include/ust/core.h
+++ b/include/ust/core.h
@@ -141,7 +141,7 @@ static __inline__ int get_count_order(unsigned int count)
        return order;
}

-#define container_of(ptr, type, member) ({                      \
+#define __ust_container_of(ptr, type, member) ({ \
        const typeof( ((type *)0)->member ) *__mptr = (ptr);    \
        (type *)( (char *)__mptr - offsetof(type,member) );})

diff --git a/include/ust/kcompat/simple.h b/include/ust/kcompat/ simple.h
index 762d802..38a9be5 100644
--- a/include/ust/kcompat/simple.h
+++ b/include/ust/kcompat/simple.h
@@ -21,18 +21,6 @@
#ifndef KCOMPAT_SIMPLE_H
#define KCOMPAT_SIMPLE_H

-/**
- * container_of - cast a member of a structure out to the containing structure
- * @ptr:       the pointer to the member.
- * @type:      the type of the container struct this is embedded in.
- * @member:    the name of the member within the struct.
- *
- */
-#define container_of(ptr, type, member) ({                     \
-       const typeof( ((type *)0)->member ) *__mptr = (ptr); \
-       (type *)( (char *)__mptr - offsetof(type,member) );})
-
-
/* libkcompat: from rcupdate.h */

struct rcu_head {
diff --git a/libust/buffers.c b/libust/buffers.c
index 374ec61..8a2b90a 100644
--- a/libust/buffers.c
+++ b/libust/buffers.c
@@ -203,7 +203,7 @@ int ust_buffers_create_buf(struct ust_channel *channel, int cpu)

static void ust_buffers_destroy_channel(struct kref *kref)
{
- struct ust_channel *chan = container_of(kref, struct ust_channel, kref); + struct ust_channel *chan = __ust_container_of(kref, struct ust_channel, kref);
        free(chan);
}

@@ -225,7 +225,7 @@ static void ust_buffers_destroy_buf(struct ust_buffer *buf)
/* called from kref_put */
static void ust_buffers_remove_buf(struct kref *kref)
{
- struct ust_buffer *buf = container_of(kref, struct ust_buffer, kref); + struct ust_buffer *buf = __ust_container_of(kref, struct ust_buffer, kref);
        ust_buffers_destroy_buf(buf);
}

@@ -592,7 +592,7 @@ static void ltt_relay_print_buffer_errors(struct ust_channel *channel, int cpu)

static void ltt_relay_release_channel(struct kref *kref)
{
-       struct ust_channel *ltt_chan = container_of(kref,
+       struct ust_channel *ltt_chan = __ust_container_of(kref,
                        struct ust_channel, kref);
        free(ltt_chan->buf);
}
diff --git a/libust/channels.c b/libust/channels.c
index df1a972..4de54a9 100644
--- a/libust/channels.c
+++ b/libust/channels.c
@@ -66,7 +66,7 @@ static struct ltt_channel_setting *lookup_channel(const char *name)
 */
static void release_channel_setting(struct kref *kref)
{
-       struct ltt_channel_setting *setting = container_of(kref,
+       struct ltt_channel_setting *setting = __ust_container_of(kref,
                struct ltt_channel_setting, kref);
        struct ltt_channel_setting *iter;

diff --git a/libust/marker.c b/libust/marker.c
index dbabf3e..761785a 100644
--- a/libust/marker.c
+++ b/libust/marker.c
@@ -235,7 +235,7 @@ static notrace void marker_probe_cb_noarg(const struct marker *mdata,

static void free_old_closure(struct rcu_head *head)
{
-       struct marker_entry *entry = container_of(head,
+       struct marker_entry *entry = __ust_container_of(head,
                struct marker_entry, rcu);
        free(entry->oldptr);
/* Make sure we free the data before setting the pending flag to 0 */
diff --git a/libust/tracepoint.c b/libust/tracepoint.c
index 16b4819..63ae17d 100644
--- a/libust/tracepoint.c
+++ b/libust/tracepoint.c
@@ -87,7 +87,7 @@ static inline void *allocate_probes(int count)
static inline void release_probes(void *old)
{
        if (old) {
-               struct tp_probes *tp_probes = container_of(old,
+               struct tp_probes *tp_probes = __ust_container_of(old,
                        struct tp_probes, probes[0]);
//ust//         call_rcu_sched(&tp_probes->u.rcu, rcu_free_old_probes);
                synchronize_rcu();
@@ -427,7 +427,7 @@ static void tracepoint_add_old_probes(void *old)
{
        need_update = 1;
        if (old) {
-               struct tp_probes *tp_probes = container_of(old,
+               struct tp_probes *tp_probes = __ust_container_of(old,
                        struct tp_probes, probes[0]);
                list_add(&tp_probes->u.list, &old_probes);
        }
diff --git a/libust/tracer.c b/libust/tracer.c
index 8c3f774..ed5e329 100644
--- a/libust/tracer.c
+++ b/libust/tracer.c
@@ -337,7 +337,7 @@ void ltt_release_transport(struct kref *kref)
 */
void ltt_release_trace(struct kref *kref)
{
-       struct ust_trace *trace = container_of(kref,
+       struct ust_trace *trace = __ust_container_of(kref,
                        struct ust_trace, kref);
        ltt_channels_trace_free(trace->channels);
        free(trace);
--
1.7.3


_______________________________________________
ltt-dev mailing list
[email protected]
http://lists.casi.polymtl.ca/cgi-bin/mailman/listinfo/ltt-dev


--
Mathieu Desnoyers
Operating System Efficiency R&D Consultant
EfficiOS Inc.
http://www.efficios.com

_______________________________________________
ltt-dev mailing list
[email protected]
http://lists.casi.polymtl.ca/cgi-bin/mailman/listinfo/ltt-dev


_______________________________________________
ltt-dev mailing list
[email protected]
http://lists.casi.polymtl.ca/cgi-bin/mailman/listinfo/ltt-dev

Reply via email to