make menuconfig中的 [ ] Wait/wound mutex debugging: Slowpath testing 介 绍
时间: 2024-06-07 09:09:42 浏览: 71
在 Linux 内核中,mutex 是一种用于同步多个进程/线程访问共享资源的机制。当多个线程/进程尝试同时访问同一共享资源时,mutex 可以确保只有一个线程/进程能够访问该资源。当一个线程/进程在使用共享资源时,它可以通过获取 mutex 对象来锁定该资源,其他线程/进程在尝试访问该资源时会被阻塞,直到该线程/进程释放了 mutex 对象。
Wait/wound mutex debugging 是用于调试 mutex 相关问题的一个功能。在开启该选项后,系统会在每次获取 mutex 对象时,都会向内核打印一条调试信息。这些信息可以帮助开发人员快速诊断 mutex 相关问题,如死锁等。但是,由于每次获取 mutex 对象都需要打印调试信息,因此会降低系统的性能,特别是在高并发的场景下,会导致系统的响应变慢。因此,这个选项默认是关闭的。
相关问题
arsight@ubuntu:~/farsight/linux-5.4.31$ make menuconfig HOSTCC scripts/basic/fixdep /bin/sh: 1: gcc: not found scripts/Makefile.host:107: recipe for target 'scripts/basic/fixdep' failed make[1]: *** [scripts/basic/fixdep] Error 127 Makefile:500: recipe for target 'scripts_basic' failed make: *** [scripts_basic] Error 2,如何解决以上问题
这个错误提示是说找不到 `gcc`,可能是你的环境没有安装 `gcc` 或者 `gcc` 的路径没有加入到 `PATH` 环境变量中。
你可以尝试运行以下命令安装 `gcc`:
```
sudo apt-get install gcc
```
如果已经安装了 `gcc`,则需要将 `gcc` 的路径添加到 `PATH` 环境变量中。你可以运行以下命令查看 `gcc` 的路径:
```
which gcc
```
然后将输出的路径添加到 `PATH` 环境变量中,比如:
```
export PATH=$PATH:/usr/bin/gcc
```
添加完毕后,再次运行 `make menuconfig` 命令即可。
root@sy-virtual-machine:/usr/src/linux-headers-5.19.0-32-generic# make menuconfig HOSTCC scripts/basic/fixdep HOSTCC scripts/kconfig/confdata.o HOSTCC scripts/kconfig/expr.o LEX scripts/kconfig/lexer.lex.c /bin/sh: 1: flex: not found make[1]: *** [scripts/Makefile.host:9: scripts/kconfig/lexer.lex.c] Error 127 make: *** [Makefile:632: menuconfig] Error 2
这是一个错误信息,看起来是缺少 flex 工具。flex 是一个词法分析工具,可以在 Linux 系统中使用。你需要安装 flex 工具,可以使用以下命令安装:
```
sudo apt-get install flex
```
然后再次运行 make menuconfig 命令即可。
阅读全文