Я хочу поместить статическую глобальную переменную (32-разрядное целое число) в ее собственную строку кэша в программе на Си (и я также хочу сделать это для внешней глобальной переменной). Каков наилучший способ сделать это? Должен ли я определить глобальный в структуре и дополнить структуру? Директива выравнивания игнорируется компилятором.
Это необходимо для повышения производительности, поскольку глобальная переменная используется одним потоком, а выше и ниже определены другие переменные, которые используются другими потоками на других физических ядрах. Я бы предпочел не создавать структуры, но я не уверен, как это сделать иначе. Я использую GCC 7.4.1 и компилирую для AArch64.