Когда у меня есть структуры данных для каждого процессора, улучшает ли производительность размещение их на разных страницах?

У меня есть небольшая структура данных для каждого процессора в модуле ядра linux, где каждый процессор часто записывает и читает свои собственные данные. Я знаю, что мне нужно убедиться, что эти элементы данных не находятся на одной и той же линии кэша, потому что если бы это было так, то ядра вечно пачкали бы кэш друг друга. Однако, есть ли что-то на уровне страницы, о чем я должен беспокоиться с точки зрения производительности SMP? т.е. будет ли какое-либо влияние на производительность от разбивки этих структур для каждого процессора на 4096 байт и их выравнивания?

Это на linux 2.6 на x86_64.

(Точки зрения о том, стоит ли это оптимизировать, и предложения, чтобы я пошел на бенчмарк, не нужны - я ищу, есть ли теоретическая основа для беспокойства о выравнивании страниц).

6
задан kdt 22 December 2010 в 10:21
поделиться