Вопросы по теме 'spinlock'
Intel Inspector сообщает о гонке данных в моей реализации спин-блокировки
Я сделал очень простую спин-блокировку, используя функции Interlocked в Windows, и протестировал ее на двухъядерном процессоре (два потока, которые увеличивают переменную);
Программа вроде работает нормально (каждый раз выдает один и тот же...
2834 просмотров
schedule
10.03.2022
Есть ли способ заставить sem_wait не вращаться?
В настоящее время я работаю над кросс-платформенным планировщиком задач, но у меня проблема с вращением sem_wait во время ожидания семафора. В Windows я использую WaitForSingleObject, который выдает поток во время ожидания, чего я и хочу. Но...
508 просмотров
schedule
05.01.2023
Почему спин-блокировка не работает в ядре Linux (не SMP)?
Я читал это в течение довольно долгого времени, но для меня это не имеет смысла. Возможно, потому, что я новичок во всем этом и до сих пор не понимаю несколько концепций ядра.
Это было то, что я придумал (без ошибок или передачи NULL, это просто...
3043 просмотров
schedule
16.07.2023
Безопасно ли вызывать непустую функцию внутри ядра без назначения переменной
Я пытаюсь отладить код ядра из-за "планирования в атомарном режиме", которое приводит к сбою моей системы. В какой-то момент реального модуля ядра я добавил строку для вызова функции, определенной в другом модуле ядра (этот создан мной). Вызов:...
203 просмотров
schedule
08.05.2022
Как использовать спин-блокировку, если необходимо вызвать copy_to_user?
Я написал небольшой драйвер для чтения некоторых данных и передачи их пользователю. Мой драйвер может использоваться более чем одним приложением, т. е. это реентерабельный драйвер, отсюда и использование спин-блокировки. Но я обнаружил, что...
3643 просмотров
schedule
21.03.2022
Почему Linux отключает вытеснение ядра после того, как код ядра содержит спин-блокировку?
Я новичок в Linux и читаю книгу о драйверах устройств для Linux от Rubini & Corbet. Меня смущает одно утверждение, относящееся к spinlocks ; в книге говорится
Если бы непреодолимая однопроцессорная система когда-либо переключилась на...
7641 просмотров
schedule
05.01.2023
Реализация спин-блокировки в Boost. Нужен пример
Я хотел знать, есть ли у boost какие-либо библиотеки, которые помогают реализовать спин-блокировки. Я знаю, что boost поддерживает мьютексы, но я не смог найти примеров, которые показывают или описывают спин-блокировки в boost. Любые примеры,...
4953 просмотров
schedule
13.08.2022
что происходит, когда тасклет прерывается аппаратным прерыванием?
Я хотел знать эту часть. Мы знаем, что тасклеты не могут спать, тогда, если приходит аппаратное прерывание, что происходит с тасклетами?
Я столкнулся со сбоем, при котором тасклет прерывается аппаратным прерыванием. Я использовал спин-блокировку...
668 просмотров
schedule
12.08.2022
Спинлок против std::mutex::try_lock
Каковы преимущества использования специально разработанной спин-блокировки (например, http://anki3d.org/spinlock ) по сравнению с кодом нравится:
std::mutex m;
while (!m.try_lock()) {}
# do work
m.unlock();
5839 просмотров
schedule
05.05.2023
Спин-блокировка портативных Writer-Readers
Я использовал boost::shared_mutex в качестве объектов синхронизации в модели Writer-Readers. Однако это значительно медленнее по сравнению с отсутствием блокировок (в моем тесте: без каких-либо считывателей для записи 500 000 значений требуется 100...
290 просмотров
schedule
28.08.2022
Блокирует манипуляции с памятью через встроенную сборку
Я новичок в низкоуровневом материале, поэтому я совершенно не понимаю, с какими проблемами вы можете столкнуться, и я даже не уверен, правильно ли я понимаю термин «атомарный». Прямо сейчас я пытаюсь сделать простые атомарные блокировки вокруг...
2110 просмотров
schedule
01.05.2022
Почему производительность всегда показывает _raw_spin_unlock_irqrestore или какую-либо другую функцию разблокировки вращения
Кто-нибудь знает, почему производительность всегда показывает _raw_spin_unlock_irqrestore или какую-либо другую функцию разблокировки вращения? Реализация spin_unlock обычно проще, чем spin_lock. Если на spin_lock высокая конкуренция, разве...
6113 просмотров
schedule
07.07.2022
Использование функции spinlock_check()
У меня есть вопрос о функции spinlock_check() используется в макросе spin_lock_init() .
Код spinlock_check написан ниже и возвращает адрес rlock
static __always_inline raw_spinlock_t *spinlock_check(spinlock_t *lock)
{
return...
222 просмотров
schedule
09.02.2023
Использование спин-блокировки с С++ openmp
У меня этот метод реализован с уникальной блокировкой и условной переменной. Он добавляет элемент в массив, но только если массив не заполнен. Если он заполнен, он ждет, пока другие потоки извлекут элемент, и только после этого вставляет новый....
381 просмотров
schedule
04.09.2022
спиновые блокировки, не потребляющие 100% ЦП
#include "boost/smart_ptr/detail/spinlock.hpp"
boost::detail::spinlock lock;
main(){
std::lock_guard<boost::detail::spinlock> guard(lock);
while(true)
{
i=i+100;
}
}
Детали машины:
ЦП: 2...
210 просмотров
schedule
09.06.2023