FAQ Search Today's Posts Mark Forums Read
» Video Reviews

» Linux Archive

Linux-archive is a website aiming to archive linux email lists and to make them easily accessible for linux users/developers.


» Sponsor

» Partners

» Sponsor

Go Back   Linux Archive > Redhat > Cluster Development

 
 
LinkBack Thread Tools
 
Old 12-21-2009, 08:22 AM
Steven Whitehouse
 
Default gfs2: Use CALLER_ADDR0 macro.

Hi,

Looks fairly harmless, even though I don't entirely see the point. Do
you want me to add this to me tree?

Acked-by: Steven Whitehouse <swhiteho@redhat.com>

Steve.

On Sun, 2009-12-20 at 13:07 -0500, Thiago Farina wrote:
> Use CALLER_ADDR0 instead of (unsigned long)__builtin_return_address(0),
> since this macro was created for this.
>
> This patch was generated by:
> sed -i "s/(unsigned long)__builtin_return_address(0)/CALLER_ADDR0/g" path/to/file
>
> Signed-off-by: Thiago Farina <tfransosi@gmail.com>
> ---
> fs/gfs2/glock.c | 5 +++--
> fs/gfs2/glops.c | 3 ++-
> fs/gfs2/trans.c | 3 ++-
> 3 files changed, 7 insertions(+), 4 deletions(-)
>
> diff --git a/fs/gfs2/glock.c b/fs/gfs2/glock.c
> index f455a03..216898d 100644
> --- a/fs/gfs2/glock.c
> +++ b/fs/gfs2/glock.c
> @@ -27,6 +27,7 @@
> #include <linux/freezer.h>
> #include <linux/workqueue.h>
> #include <linux/jiffies.h>
> +#include <linux/ftrace.h>
>
> #include "gfs2.h"
> #include "incore.h"
> @@ -831,7 +832,7 @@ void gfs2_holder_init(struct gfs2_glock *gl, unsigned int state, unsigned flags,
> {
> INIT_LIST_HEAD(&gh->gh_list);
> gh->gh_gl = gl;
> - gh->gh_ip = (unsigned long)__builtin_return_address(0);
> + gh->gh_ip = CALLER_ADDR0;
> gh->gh_owner_pid = get_pid(task_pid(current));
> gh->gh_state = state;
> gh->gh_flags = flags;
> @@ -855,7 +856,7 @@ void gfs2_holder_reinit(unsigned int state, unsigned flags, struct gfs2_holder *
> gh->gh_state = state;
> gh->gh_flags = flags;
> gh->gh_iflags = 0;
> - gh->gh_ip = (unsigned long)__builtin_return_address(0);
> + gh->gh_ip = CALLER_ADDR0;
> }
>
> /**
> diff --git a/fs/gfs2/glops.c b/fs/gfs2/glops.c
> index 78554ac..b8331d8 100644
> --- a/fs/gfs2/glops.c
> +++ b/fs/gfs2/glops.c
> @@ -14,6 +14,7 @@
> #include <linux/gfs2_ondisk.h>
> #include <linux/bio.h>
> #include <linux/posix_acl.h>
> +#include <linux/ftrace.h>
>
> #include "gfs2.h"
> #include "incore.h"
> @@ -51,7 +52,7 @@ static void gfs2_ail_empty_gl(struct gfs2_glock *gl)
>
> /* A shortened, inline version of gfs2_trans_begin() */
> tr.tr_reserved = 1 + gfs2_struct2blk(sdp, tr.tr_revokes, sizeof(u64));
> - tr.tr_ip = (unsigned long)__builtin_return_address(0);
> + tr.tr_ip = CALLER_ADDR0;
> INIT_LIST_HEAD(&tr.tr_list_buf);
> gfs2_log_reserve(sdp, tr.tr_reserved);
> BUG_ON(current->journal_info);
> diff --git a/fs/gfs2/trans.c b/fs/gfs2/trans.c
> index 4ef0e9f..9355c73 100644
> --- a/fs/gfs2/trans.c
> +++ b/fs/gfs2/trans.c
> @@ -14,6 +14,7 @@
> #include <linux/buffer_head.h>
> #include <linux/kallsyms.h>
> #include <linux/gfs2_ondisk.h>
> +#include <linux/ftrace.h>
>
> #include "gfs2.h"
> #include "incore.h"
> @@ -40,7 +41,7 @@ int gfs2_trans_begin(struct gfs2_sbd *sdp, unsigned int blocks,
> if (!tr)
> return -ENOMEM;
>
> - tr->tr_ip = (unsigned long)__builtin_return_address(0);
> + tr->tr_ip = CALLER_ADDR0;
> tr->tr_blocks = blocks;
> tr->tr_revokes = revokes;
> tr->tr_reserved = 1;
 
Old 12-21-2009, 12:43 PM
Christoph Hellwig
 
Default gfs2: Use CALLER_ADDR0 macro.

On Mon, Dec 21, 2009 at 09:22:41AM +0000, Steven Whitehouse wrote:
> Hi,
>
> Looks fairly harmless, even though I don't entirely see the point. Do
> you want me to add this to me tree?

We also have a _RET_IP_ macro that does the same and has a much more
useful name. And given that we need the address as void pointer to
print it using our printk extension both seem a bit supoptimal.

Given that a lot of tracing code needs this a bit of standardization
would be useful - more important for the type to store the address than
just the macro name.
 

Thread Tools




All times are GMT. The time now is 11:29 PM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.
Copyright 2007 - 2008, www.linux-archive.org