Я пытаюсь отключить аппаратную предварительную выборку на моем компьютере:
Семейство процессоров: 6
Модель: 78
Название модели: Intel (R) Core (TM)i5-6200U CPU @ 2,30 ГГц
Я проверил с помощью команды: gcc -march = native -Q --help = target | grep march - и это микроархитектура Skylake.
Я установил msr-tools.grep -i msr / boot / config - $ (uname -r) это дает результат: CONFIG_X86_MSR = m - я не уверен, что необходимо установить его Y или как это сделать.Я пытался использовать эти сообщения:
Как программно отключить аппаратную предварительную выборку?
Невозможно отключить аппаратную предварительную выборку в Core i7
Однако я предполагаю, что сообщения немного старые и не используют адрес 0x1a4.Также в комментариях не описано, как именно это сделать с этим адресом, или нет разницы между изменением 0x1a4 или 0x1a0.
Я читал эту статью: https://software.intel.com/en-us/articles/disclosure-of-hw-prefetcher-control-on-some-intel-processors, в которой говорится, что это возможноотключить предварительную выборку с установкой 0-3 бит в 1 в 0x1A4.modprobe msr - выполнение этой команды не выдает ошибок (также не выводит никаких сообщений).затем я пытаюсь выполнить следующие две команды:
sudo wrmsr -p 0 0x1a4 15 // для ядра 0
sudo wrmsr -p 2 0x1a4 15 // для ядра 2
15 предназначен для установки всех последних 4 битов на 1
Не могли бы вы помочь мне убедиться, что я правильно отключаю Prefetchers?Поскольку я сделал много предположений для команды sudo wrmsr -p 0 0x1a4 15 -, я не уверен, что использую ее правильно.Я пытался предоставить всю информацию, но если что-то еще нужно, дайте мне знать.(Я сократил сообщение, так как думаю, что это было слишком долго, чтобы пройти)