[ltt-dev] [UST PATCH] New naming convention for internal macros

Nils Carlson nils.carlson at ludd.ltu.se
Thu Sep 30 15:15:38 EDT 2010


And pulled.
On Sep 29, 2010, at 8:59 PM, Nils Carlson wrote:

> On Sep 28, 2010, at 3:05 PM, David Goulet wrote:
>
>> This is the first patch introducing the new naming convention
>> for the UST tracer. To prevent namespace pollution, _ust_ prefix
>> is added to internal macros which are visible in the global header.
>>
>> 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 <david.goulet at polymtl.ca>
> Acked-by: Nils Carlson <nils.carlson at ericsson.com>
>> ---
>> 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..e781a3a 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..bb5d8c5 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..57e9801 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..0c85cc3 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..2b33d84 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..c9422c8 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
>> ltt-dev at lists.casi.polymtl.ca
>> http://lists.casi.polymtl.ca/cgi-bin/mailman/listinfo/ltt-dev
>
>
> _______________________________________________
> ltt-dev mailing list
> ltt-dev at lists.casi.polymtl.ca
> http://lists.casi.polymtl.ca/cgi-bin/mailman/listinfo/ltt-dev





More information about the lttng-dev mailing list