Начиная с обновления до Ubuntu 16.04 я не смог получить wrmsr, работающий над любым адресом:
$ sudo rdmsr 0x1a4
0
$ sudo wrmsr 0x1a4 0
wrmsr: pwrite: Operation not permitted
Был подобный вопрос в этом сайте, но принятый ответ обеспечивает обходное решение только для Турбо Повышения:
Не может отключить турбо повышение начиная с Ubuntu 16.04
Какие-либо Идеи? Это так или иначе связано с возможностями?
Я нашел обходное решение путем обновления моего ядра от (4.4.0-24-универсального) значения по умолчанию:
$ sudo rdmsr 0x1a4
rdmsr: open: No such file or directory
$ sudo modprobe msr
$ sudo rdmsr 0x1a4
0
$ sudo wrmsr 0x1a4 0
$ uname -r
4.6.0-040600-generic
я также подтвердил это на 4.6.2:
$ uname -r
4.6.2-040602-generic
я позже воспроизвел его снова на 4.4.0-24-универсальном.
Это было мое понимание, что rdmsr и wrmsr используют msr модуль ядра для чтения-записи через/dev/cpu/0/msr - что модуль установлен?
sudo modprobe msr
sudo wrmsr 0x1a4 0