# rpm -qa | grep nvme libblockdev-nvme-3.2.0-alt1.x86_64 libnvme1-1.10-alt1.x86_64 nvme-2.10.2-alt1.x86_64 Стенд обновленный до Sisyphus: Alt Workstation K 10.3 x86_64 Шаги воспроизведения: Выполнить команду: # nvme show-regs /dev/nvme0n1 Результат: get-property: No such file or directory Ожидаемый результат: cap : 2030a2030fff version : 10400 cc : 460001 csts : 1 nssr : 0 crto : 0 intms : 0 intmc : 0 aqa : 1f001f asq : ffffe000 acq : fffff000 cmbloc : 0 cmbsz : 0 bpinfo : 1 bprsel : 0 bpmbl : 0 cmbmsc : 0 cmbsts : 0 pmrcap : 0 pmrctl : 0 pmrsts : 0 pmrebs : 0 pmrswtp : 0 pmrmscl : 0 pmrmscu : 0
Это известная проблема, и она связана с конфигурацией ядра, точнее с опцией CONFIG_IO_STRICT_DEVMEM В ядрах ALTLinux эта опция включена, поэтому чтобы get-regs команда работала, нужно загрузить систему с параметром iomem=relaxed см. баги в апстриме: https://github.com/linux-nvme/nvme-cli/issues/1846 https://github.com/linux-nvme/nvme-cli/issues/1941
(Ответ для Konstantin A Lepikhov (L.A. Kostis) на комментарий #1) > Это известная проблема, и она связана с конфигурацией ядра, точнее с опцией > CONFIG_IO_STRICT_DEVMEM > > В ядрах ALTLinux эта опция включена, поэтому чтобы get-regs команда > работала, нужно загрузить систему с параметром iomem=relaxed > > см. баги в апстриме: > > https://github.com/linux-nvme/nvme-cli/issues/1846 > https://github.com/linux-nvme/nvme-cli/issues/1941 Загрузить систему с параметром ядра iomem=relaxed - не помогло Опции ядра: /boot/config-6.6.52-un-def-alt0.p11.1:#CONFIG_IO_STRICT_DEVMEM is not set /boot/config-6.6.52-un-def-alt0.p11.1:CONFIG_STRICT_DEVMEM=y
(In reply to Pivkin Denis from comment #2) > (Ответ для Konstantin A Lepikhov (L.A. Kostis) на комментарий #1) > > Это известная проблема, и она связана с конфигурацией ядра, точнее с опцией > > CONFIG_IO_STRICT_DEVMEM > > > > В ядрах ALTLinux эта опция включена, поэтому чтобы get-regs команда > > работала, нужно загрузить систему с параметром iomem=relaxed > > > > см. баги в апстриме: > > > > https://github.com/linux-nvme/nvme-cli/issues/1846 > > https://github.com/linux-nvme/nvme-cli/issues/1941 > > Загрузить систему с параметром ядра iomem=relaxed - не помогло > Опции ядра: > /boot/config-6.6.52-un-def-alt0.p11.1:#CONFIG_IO_STRICT_DEVMEM is not set > /boot/config-6.6.52-un-def-alt0.p11.1:CONFIG_STRICT_DEVMEM=y ничего не понял, CONFIG_STRICT_DEVMEM включен или нет?
(Ответ для Konstantin A Lepikhov (L.A. Kostis) на комментарий #3) > ничего не понял, CONFIG_STRICT_DEVMEM включен или нет? CONFIG_IO_STRICT_DEVMEM - закомментирован CONFIG_STRICT_DEVMEM - включен
Ошибку переоткрываю, т.к загрузить систему с параметром ядра iomem=relaxed - не помогло решить ошибку
(In reply to Pivkin Denis from comment #5) > Ошибку переоткрываю, т.к загрузить систему с параметром ядра iomem=relaxed - > не помогло решить ошибку я проверил но своем ядре, все работает как нужно: - у меня включен CONFIG_IO_STRICT_DEVMEM и CONFIG_STRICT_DEVMEM, поэтому я перегрузился и передал iomem=relaxed как параметр ядра. После этого команда show-regs заработала (см. снимок экрана). Можете запустить команду nvme через strace -Ffs1024 и приложить вывод?
Created attachment 16986 [details] подтверждение работы с включенным iomem=relaxed
(In reply to Pivkin Denis from comment #2) > (Ответ для Konstantin A Lepikhov (L.A. Kostis) на комментарий #1) > > Это известная проблема, и она связана с конфигурацией ядра, точнее с опцией > > CONFIG_IO_STRICT_DEVMEM > > > > В ядрах ALTLinux эта опция включена, поэтому чтобы get-regs команда > > работала, нужно загрузить систему с параметром iomem=relaxed > > > > см. баги в апстриме: > > > > https://github.com/linux-nvme/nvme-cli/issues/1846 > > https://github.com/linux-nvme/nvme-cli/issues/1941 > > Загрузить систему с параметром ядра iomem=relaxed - не помогло > Опции ядра: > /boot/config-6.6.52-un-def-alt0.p11.1:#CONFIG_IO_STRICT_DEVMEM is not set > /boot/config-6.6.52-un-def-alt0.p11.1:CONFIG_STRICT_DEVMEM=y кстати, ядро у вас из p11, а не сизифа.
(Ответ для Konstantin A Lepikhov (L.A. Kostis) на комментарий #7) > Создано вложение 16986 [details] [подробности] > подтверждение работы с включенным iomem=relaxed Так без этой опции будет работать # nvme show-regs /dev/nvme0 А ошибка с командой # nvme show-regs /dev/nvme0n1
(In reply to Pivkin Denis from comment #9) > (Ответ для Konstantin A Lepikhov (L.A. Kostis) на комментарий #7) > > Создано вложение 16986 [details] [подробности] > > подтверждение работы с включенным iomem=relaxed > > Так без этой опции будет работать # nvme show-regs /dev/nvme0 > А ошибка с командой # nvme show-regs /dev/nvme0n1 хмм, тогда какую проблему мы решаем? /dev/nvme0n1 это неправильный синтаксис, т.к. DEVICE это nvmeN
(Ответ для Konstantin A Lepikhov (L.A. Kostis) на комментарий #10) > (In reply to Pivkin Denis from comment #9) > > (Ответ для Konstantin A Lepikhov (L.A. Kostis) на комментарий #7) > > > Создано вложение 16986 [details] [подробности] [details] [подробности] > > > подтверждение работы с включенным iomem=relaxed > хмм, тогда какую проблему мы решаем? /dev/nvme0n1 это неправильный > синтаксис, т.к. DEVICE это nvmeN На версии nvme-2.5-alt1.x86_64 таких проблем не было и при выводе # nvme list пути диска /dev/nvme0n1 и /dev/ng0n1 и команда отрабатывала # nvme show-regs /dev/nvme0n1 без ошибки На версии nvme-2.10.2-alt1.x86_64 При выполнении команды # nvme list В dmesg сообщение: block nvme0n1: No UUID available providing old NGUID Скорее всего ошибка возникает как раз из-за этих сообщений Если достаточно такого пути диска /dev/nvme0, тогда вопросов у меня нет
(In reply to Pivkin Denis from comment #11) > (Ответ для Konstantin A Lepikhov (L.A. Kostis) на комментарий #10) > > (In reply to Pivkin Denis from comment #9) > > > (Ответ для Konstantin A Lepikhov (L.A. Kostis) на комментарий #7) > > > > Создано вложение 16986 [details] [подробности] [details] [подробности] > > > > подтверждение работы с включенным iomem=relaxed > > > хмм, тогда какую проблему мы решаем? /dev/nvme0n1 это неправильный > > синтаксис, т.к. DEVICE это nvmeN > > На версии nvme-2.5-alt1.x86_64 таких проблем не было и при выводе > # nvme list пути диска > /dev/nvme0n1 и /dev/ng0n1 и команда отрабатывала # nvme show-regs > /dev/nvme0n1 без ошибки > > На версии nvme-2.10.2-alt1.x86_64 > При выполнении команды # nvme list > В dmesg сообщение: > block nvme0n1: No UUID available providing old NGUID > > Скорее всего ошибка возникает как раз из-за этих сообщений > > Если достаточно такого пути диска /dev/nvme0, тогда вопросов у меня нет да, начиная с версии 2.9 namespace указывать не нужно, достаточно устройства: https://github.com/linux-nvme/nvme-cli/commit/a31081a3fa1476ee4e74ec928f51a2879f533963