文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>switch_to

switch_to

时间:2010-10-14  来源:baozhao

 ULK 3rd 已经讲得很好了, 可惜还有未尽之处。Professional Linux® Kernel Architecture 把最后的味道榨干了。

   来自2.6.34的代码
    switch_to(prev, next, prev);

    barrier();
    /*
     * this_rq must be evaluated again because prev may have moved
     * CPUs since it called schedule(), thus the 'rq' on its stack
     * frame will be invalid.
     */
    finish_task_switch(this_rq(), prev);

后书讲到
  switch_to(prev, next, prev);
相当于 prev = switch_to(prev,next) 这样prev在switch_to调用完后就变了,也就是finish_task_switch中的prev 和 switch_to(prev, next, prev)中的prev 不是同一个对象,这其中的魔术依赖于平台实现,本质就是操作栈,利用寄存器换掉栈中原来的prev。
相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载