接前一篇文章:KWin、libdrm、DRM从上到下全过程 —— drmModeAddFBxxx(31)
上一回完成了对drm_gem_open函数的解析。本回开始对drm_gem_handle_create_tail函数进行解析。
为什么突然出现了个drm_gem_handle_create_tail函数?别忘了当初我们是在KWin、libdrm、DRM从上到下全过程 —— drmModeAddFBxxx(28)中,为了探究在i915_gem_object_lookup_rcu函数中给idr_find()传递的第1个实参&file->object_idr是何时创建、何时赋值的,从而在DRM即Linux内核源码中展开的搜索,最终定位到了两个函数:一个是drm_gem_open函数,这是之前花了几个回目最终探究清楚了的;另一个就是drm_gem_handle_create_tail函数。这是将要花费几个回目进行探究的。
为了便于理解,再次贴出drm_gem_handle_create_tail函数源码,也在drivers/gpu/