int netif_rx(struct sk_buff *skb)
{
struct timeval stamp;
if (skb->stamp.tv_sec == 0)
do_gettimeofday(&skb->stamp);
}
我想得到内核开始执行上述函数的时间,最后我想将它存储在缓冲区skbuf中。如果我像上面那样编码那么是否可以将调度时间存储在缓冲区中?请有人帮帮我吗?我的问题 - 如果我打电话给sched_clock();那么它会给出系统的调度时间,但最后如何将它存储在缓冲区中呢?是否可以使用结构指针来存储调度时钟的值?
答案 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
}