2020.09.18

Conventions for extensible system calls

为了应对系统调用的新特性,而产生的新版本的系统调用,比如rename, renameat, renameat2

输入参数为extensible structs和其对应的大小,

  • 老内核,新调用:若超出处理范围的部分全为0则可正常处理,否则报错
  • 新内核,老调用:完全没问题

因此需要提供机制来判断一个内核可以提供的系统调用的特性,

  1. VDSO添加数据。需要增添的数据太多,可移植性低。
  2. 新增查看系统调用特性的系统调用。主流思想。社区在讨论实现细节。