Это действительно плохая идея.
Но если вы хотите установить другие для каждой переменной процессора, вы можете использовать per_cpu(name, cpu)
.
Обновление : почему это плохая идея?
Потому что вы двоично исправляете часть основного сетевого кода, когда загружается ваш драйвер. Это влияет на каждый сетевой драйвер в системе, а не только на ваш. Это похоже на наличие модуля ядра, который заменяет планировщик. Если бы остальное ядро было написано так, оно бы никогда не работало.
Да, и вы не забыли вернуться к исходному process_backlog()
, когда ваш модуль удален, верно?
Если вы действительно думаете, что вам нужно изменить process_backlog()
, вам следует внести изменения в исходный код и распространять собственное ядро. Или объясните изменения, которые вам нужны, вышестоящему сетевому сообществу и примите их в апстриме.
Или, возможно, лучше просто конвертировать драйвер в NAPI, это не так сложно.