linux内核中 WAIT_TABLE_SIZE
时间: 2023-08-04 20:04:41 浏览: 134
在Linux内核中,没有WAIT_TABLE_SIZE这个参数。我猜测你可能想问的是Linux内核中的wait queue相关的内容。
wait queue是Linux内核中用于进程等待事件完成的数据结构。wait queue中包含了等待某个事件的进程列表,当该事件完成时,内核会将这些进程唤醒。Linux内核中有很多不同类型的wait queue,比如等待文件描述符可读/可写的wait queue、等待信号量的wait queue等等。这些wait queue的大小是动态分配的,而不是像MySQL中的WAIT_TABLE_SIZE一样是静态配置的。
相关问题
是的wait_bit.c
是的,`WAIT_TABLE_SIZE` 定义在内核源码中的 `include/linux/wait.h` 文件中,该文件是由内核源码中的 `kernel/locking/wait_bit.c` 文件所包含的。在 `wait_bit.c` 文件中,可以看到 `WAIT_TABLE_SIZE` 被定义为 `BITS_PER_LONG` 的值,也就是 CPU 架构中 long 型数据的位数。这是因为在内核中,等待队列头的等待队列项数组是使用位图的方式实现的,其中每个位表示一个等待队列项是否被使用。
在默认情况下,`WAIT_TABLE_SIZE` 的值为 128 或 256,具体取决于 CPU 架构中 long 型数据的位数。如果需要调整等待队列的大小,可以通过修改内核配置文件进行调整。不过,需要注意的是,过度增加等待队列的大小可能会带来内存占用和性能问题。
阅读全文