Внутренняя реализацияatomic_cas_64() в Solaris на Sparc?
Вопрос
В 64-битной версии Solaris на Sparc реализован ли вызов функцииatomic_cas_64() с использованием load-link/condition-store?
Если нет, то что, если Solaris предлагает какой-либо API для кода C пользовательского режима для использования ll/sc?
Решение
Sparc64 - единственный среди современных процессоров - не реализует ни CAS двойной ширины, ни LL/SC.Таким образом, реализация кода без блокировки является проблематичной.Решения есть, но это решения проблемы (ABA), которой нет на других платформах из-за поддержки CAS или LL/SC.Более того, из-за этого ограничения в Sparce невозможно реализовать ряд алгоритмов без блокировки.
Не связан с StackOverflow