如何用数组理解这个指针?

时间:2014-04-10 08:48:39

标签: c arrays pointers struct memory-address

int netif_rx(struct sk_buff *skb)
{
struct timeval stamp;
if (skb->stamp.tv_sec == 0)
do_gettimeofday(&skb->stamp);
}

我想得到内核开始执行上述函数的时间,最后我想将它存储在缓冲区skbuf中。如果我像上面那样编码那么是否可以将调度时间存储在缓冲区中?请有人帮帮我吗?我的问题 - 如果我打电话给sched_clock();那么它会给出系统的调度时间,但最后如何将它存储在缓冲区中呢?是否可以使用结构指针来存储调度时钟的值?

2 个答案:

答案 0 :(得分:0)

我认为应该是:

__net_timestamp(skb);

我在http://lxr.free-electrons.com/source/include/linux/skbuff.h

中找到了这个功能
static inline void __net_timestamp(struct sk_buff *skb)
 {
         skb->tstamp = ktime_get_real();
 }

答案 1 :(得分:0)

  

我想得到内核开始执行上述函数的时间,最后我想将它存储在缓冲区skbuf中。

int getsocketschedtime(stuct skbuf *sb)
{
    struct timeval tv;
    gettimeofday(&tv, NULL); 
    sb->tstamp.off_sec = tv.tv_sec;
    sb->tstamp.off_usec = tv.tv_usec;
    // ... do smth useful
}