当前位置:  技术问答>linux和unix

current宏

    来源: 互联网  发布时间:2016-12-13

    本文导语:  本帖最后由 proghua 于 2011-07-14 10:49:50 编辑 在x86的中 #ifndef _ASM_X86_CURRENT_H #define _ASM_X86_CURRENT_H #include  #include  #ifndef __ASSEMBLY__ struct task_struct; DECLARE_PER_CPU(struct task_struct *, current_task); static __always_inline struct tas...

本帖最后由 proghua 于 2011-07-14 10:49:50 编辑
在x86的中
#ifndef _ASM_X86_CURRENT_H
#define _ASM_X86_CURRENT_H

#include 
#include 

#ifndef __ASSEMBLY__
struct task_struct;

DECLARE_PER_CPU(struct task_struct *, current_task);

static __always_inline struct task_struct *get_current(void)
{
return percpu_read_stable(current_task);
}

#define current get_current()

#endif /* __ASSEMBLY__ */

#endif /* _ASM_X86_CURRENT_H */

percpu_read_stable(current_task)这句看不懂,从这句往后追踪,也看不懂,求解释
为什么不是通过current_thread_info得到

|
猜测一下,供参考:

DECLARE_PER_CPU(struct task_struct *, current_task);
----这个宏应该是声明了一个struct task_struct *类型的结构体,名字叫current_task,这个结构体应该是指示任务属性的

static __always_inline struct task_struct *get_current(void)
{
    return percpu_read_stable(current_task);
}
----这个函数需要返回一个struct task_struct *类型的结构体指针,即获取现在的任务属性,于是调用percpu_read_stable函数,这个函数的参数是刚才声明的current_task,在percpu_read_stable函数内部应该会用各种参数填充刚才声明的current_task,然后把这个current_task返回回来

    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • java命名空间java.text类stringcharacteriterator的类成员方法: current定义及介绍
  • minix filesystem v1.0 中current->root, current->pwd两个指针指向的值是在什么时候得到值的?
  • java命名空间java.text接口characteriterator的类成员方法: current定义及介绍
  • 内容管理系统 Current CMS
  • java命名空间javax.swing.text类elementiterator的类成员方法: current定义及介绍
  • 求助—CPUs currently和CPUs configured什么意思?
  • java命名空间javax.swing.text.html.parser接口dtdconstants的类成员方法: current定义及介绍
  • current宏为什么把后13位屏蔽就得到当前任务结构所在的地址
  • java命名空间javax.swing.text类segment的类成员方法: current定义及介绍
  • How can I get current system datetime?
  • java命名空间java.sql接口statement的类成员方法: keep_current_result定义及介绍
  • shell参数问题 if [ x$current == x$required ]; 中参数前的x是什么意思
  • java命名空间java.sql接口statement的类成员方法: close_current_result定义及介绍
  • current宏的使用
  • java命名空间java.text类breakiterator的类成员方法: current定义及介绍
  • 有关linux gdb 调试问题! 高手帮忙 No symbol "*" in current context
  • 大侠救命 ! together5。02不能用! “language java is not supported by the current licence”
  • 为什么内核模块在中断处理中(INT3),使用current->tgid,机子就会死掉[suse11 linux-2.6.27.45-0.1]
  • zhcon-0.2.3安装好后,执行zhcon命令出错:/dev/pts/0 is not real tty or vc. Please exit current tty and try again.
  • MYSQL安装时解决要输入current root password的解决方法
  • Oracle10g中的current_scn是怎样计算的


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    oracle iis7站长之家