Linux kernel 为什么在信号量代码的down函数之前使用关键字sched?

Linux kernel 为什么在信号量代码的down函数之前使用关键字sched?,linux-kernel,Linux Kernel,在上面的函数中,为什么在信号量代码的\uuu down函数之前使用\uu sched?\uu sched是一个宏而不是关键字,向函数添加属性,将其视为一些添加的元信息 如中所定义: `static noinline void __sched __down(struct semaphore *sem)` 因此,将\u sched宏添加到函数中会导致该函数的wchan信息被抑制。该sched是调度程序的简称。如果您看到,\uuuuuu sched\uuuu down调用另一个方法\uuuuu

在上面的函数中,为什么在信号量代码的
\uuu down
函数之前使用
\uu sched

\uu sched
是一个宏而不是关键字,向函数添加属性,将其视为一些添加的元信息

中所定义:

   `static noinline void __sched __down(struct semaphore *sem)`

因此,将
\u sched
宏添加到函数中会导致该函数的wchan信息被抑制。

sched
调度程序的简称。如果您看到,
\uuuuuu sched\uuuu down
调用另一个方法
\uuuuuu sched\uuuu down\u common
传递
MAX\u SCHEDULE\u TIMEOUT
那么,如果我不在函数中使用它,会有什么关系吗?
/* Attach to any functions which should be ignored in wchan output. */
#define __sched         __attribute__((__section__(".sched.text")))