Я думаю, несмотря на всю доступную документацию, я не понимаю, почему нужно ждать спин-блокировки в контексте ядра.
Почему нет конкретной очереди с процессом, требующим блокировки с помощью атомарного счетчика/индекса, и с отключенным вытеснением обрабатывать их по мере поступления в этот список, а когда счетчик в этом списке опускается до 0, вернуться к основному расписанию список ?
Две ситуации:
система недогружена, возможно, спин-блокировка работает быстрее (зависит от параллелизма блокировки в данный момент);
система сильно загружена, возможно, эта стратегия работает быстрее (не надо больше ждать).
Я могу пропустить что-то очень умное здесь, и я хотел бы понять это, пожалуйста.
Спасибо