zoukankan      html  css  js  c++  java
  • trace_net_dev_xmit 定义在何处?


    net/core/dev.c中有:

    rc = ops->ndo_start_xmit(skb, dev);
    trace_net_dev_xmit(skb, rc);

    在 include/trace/events/net.h中有
    TRACE_EVENT(net_dev_xmit,。。。


    在 include/linux/tracepoint.h中有
    #define TRACE_EVENT(name, proto, args, struct, assign, print)    \
        DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
        
    #define DECLARE_TRACE(name, proto, args)                \
            __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args), 1,    \
                    PARAMS(void *__data, proto),        \
                    PARAMS(__data, args))
                        
    #define __DECLARE_TRACE(name, proto, args, cond, data_proto, data_args)    \
        static inline void trace_##name(proto)                \
        { }                                \
        static inline int                        \
        register_trace_##name(void (*probe)(data_proto),        \
                      void *data)                \
        {                                \
            return -ENOSYS;                        \
        }                                \
        static inline int                        \
        unregister_trace_##name(void (*probe)(data_proto),        \
                    void *data)                \
        {                                \
            return -ENOSYS;                        \
        }                                \
        static inline void check_trace_callback_type_##name(void (*cb)(data_proto)) \
        {                                \
        }

    好家伙,trace_##name 终于现身了。


  • 相关阅读:
    面向对象编程
    json 和 pickle
    装饰器详解
    内置函数
    Python之基础知识
    Python之路---day2
    用户登录
    Python之路---day1
    js格式化数字和金额
    作用域链–JS基础核心之一
  • 原文地址:https://www.cnblogs.com/mull/p/4477851.html
Copyright © 2011-2022 走看看