question about macro __DO_TRACE

zhao bao baozhao at gmail.com
Fri Feb 25 21:40:32 EST 2011


 Hello,everybody. When I read tracepoint code, I find variable __data
never used. Am I missing something?

#define __DO_TRACE(tp, proto, args, cond)                               \
        do {                                                            \
                struct tracepoint_func *it_func_ptr;                    \
                void *it_func;                                          \
                void *__data;                                           \
                                                                        \
                if (!(cond))                                            \
                        return;                                         \
                rcu_read_lock_sched_notrace();                          \
                it_func_ptr = rcu_dereference_sched((tp)->funcs);       \
                if (it_func_ptr) {                                      \
                        do {                                            \
                                it_func = (it_func_ptr)->func;          \
                                __data = (it_func_ptr)->data;           \
                                ((void(*)(proto))(it_func))(args);      \
                        } while ((++it_func_ptr)->func);                \
                }                                                       \
                rcu_read_unlock_sched_notrace();                        \
        } while (0)



More information about the Kernelnewbies mailing list