Правильно отключите аппаратную предварительную выборку с помощью MSR в Skylake - PullRequest
0 голосов
/ 18 февраля 2019

Я пытаюсь отключить аппаратную предварительную выборку на моем компьютере:

Семейство процессоров: 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 -, я не уверен, что использую ее правильно.Я пытался предоставить всю информацию, но если что-то еще нужно, дайте мне знать.(Я сократил сообщение, так как думаю, что это было слишком долго, чтобы пройти)

1 Ответ

0 голосов
/ 22 февраля 2019

Я обнаружил, что эти команды работают правильно.sudo modprobe msr - должен быть выполнен первым.Основной проблемой было то, как я тестировал его с событиями папи

...