9
ответов

Спин-блокировки, насколько полезный они?

Как часто Вы используете на самом деле спин-блокировки в своем коде? Как распространенный это должно столкнуться с ситуацией, где использование занятого цикла на самом деле превосходит использование по характеристикам блокировок? Лично, когда я...
вопрос задан: 14 November 2013 20:17
9
ответов

Что такое точно “спин-блокировки”?

Я всегда задавался вопросом, каковы они: каждый раз, когда я слышу о них, изображения футуристических подобных маховику устройств идут, танцуя (прокрутка?) через мой ум... Каковы они?
вопрос задан: 24 December 2009 08:58
7
ответов

Моя реализация спин-блокировки корректна и оптимальна?

Я использую спин-блокировку для защиты очень маленького критического раздела. Конкуренция происходит очень редко, таким образом, спин-блокировка является более соответствующей, чем регулярное взаимное исключение. Мой текущий код следующим образом и приним
вопрос задан: 5 September 2009 14:41
2
ответа

Инспектор Intel сообщает о гонке данных в моей реализации спин-блокировки

Я сделал очень простую спин-блокировку с помощью Взаимно блокируемых функций в Windows и протестировал его на двухъядерном ЦП (два потока, которые увеличивают переменную); программа, кажется, работает хорошо (она дает то же...
вопрос задан: 9 December 2014 00:02
1
ответ

spin_lock_irqsave по сравнению с spin_lock_irq

На машине SMP мы должны использовать spin_lock_irqsave и не spin_lock_irq от контекста прерывания. Почему мы хотели бы сохранить флаги (которые содержат ЕСЛИ)? Есть ли другая процедура прерывания это...
вопрос задан: 26 November 2015 10:43
0
ответов

Как сделать тест на масштабируемость спин-блокировки?

Я хочу протестировать производительность блокировки, особенно в пространстве ядра Linux. Есть ли какие-либо тесты с открытым исходным кодом для измерения производительности спин-блокировки, особенно масштабируемости блокировки? Мы строим систему NUMA, так
вопрос задан: 16 January 2019 08:11
0
ответов

Самый быстрый встроенный -сборочный спинлок

Я пишу многопоточное приложение на С++, где производительность имеет решающее значение. Мне нужно использовать много блокировок при копировании небольших структур между потоками, для этого я решил использовать спин-блокировки....
вопрос задан: 23 May 2017 12:10
0
ответов

Почему нельзя «спать» при удержании спин-блокировки? [дубликат]

Возможный дубликат: почему вы не можете заснуть, удерживая спин-блокировку? Насколько мне известно, спин-блокировки следует использовать в короткие сроки, и это только варианты в коде, такие как обработчик прерывания, где ...
вопрос задан: 23 May 2017 12:07
0
ответов

.Net шеңберінде спинлокты немесе спинтвайтты қолданатын мысалдар бар ма?

Мен қатарлас коллекцияларға көз жүгірттім бірақ олар сорғыштың астында қалыпты құлыптауды қолданатын көрінеді. .Net шеңберінде осы құлыптау құрылымын қолданатын жақсы мысалдар бар ма? Мен бастапқыда ...
вопрос задан: 2 December 2013 22:20
0
ответов

SpinLock выбрасывает SynchronizationLockException

Я пытаюсь использовать SpinLock, но даже этот самый простой код в однопоточном консольном приложении выдает следующее исключение, когда я вызываюSpinLock.Exit() System.Threading.SynchronizationLockException был ...
вопрос задан: 27 June 2012 10:27
0
ответов

разница между pthread _spinlock и boost ::smart _ptr ::spinlock?

Я нашел следующий код спин-блокировки в boost ::smart _ptr :bool try _lock (){ return (__sync _lock _test _и _set (&v _, 1 )== 0 ); } пустотный замок (){ для (unsigned k=0; !попробовать _заблокировать (); ++k ){...
вопрос задан: 20 June 2012 09:59
0
ответов

Освобождает ли linux спин-блокировку/семафор при завершении процесса?

Если процесс удерживает некоторые спин-блокировки или семафоры и завершается случайно (например, из-за linux), будет ли linux правильно снимать эти блокировки? Если линукс этого не делает, то почему?
вопрос задан: 19 March 2012 06:55
0
ответов

Почему спин-блокировки не работают в однопроцессорных (одноядерных) системах?

Я знаю, что спин-блокировки работают со спайнингом, существуют разные пути ядра и ядра являются вытесняющими, так почему же спин-блокировки не работают в однопроцессорных системах? (например, в Linux)
вопрос задан: 6 February 2012 20:26
0
ответов

спин-блокировка x86 с использованием cmpxchg

Я новичок в использовании встроенной сборки gcc, и мне было интересно, можно ли реализовать спин-блокировку (без условий гонки) на многоядерной машине x86 как (с использованием синтаксиса AT&T): spin_lock: mov 0 eax ...
вопрос задан: 4 August 2011 02:21
0
ответов

Всегда ли для спин-блокировок требуется барьер памяти? Дорогое ли вращение на барьере памяти?

Я написал код без блокировки, который отлично работает с локальным читает, при большинстве условий. Обязательно ли локальное вращение при чтении памяти подразумевает, что я необходимо ВСЕГДА вставлять барьер памяти перед ...
вопрос задан: 30 July 2011 15:21
0
ответов

spin_lock и spin_unlock повреждают производительность ядра SMP на машине единственного CPU?

На моей машине Ubuntu изображение ядра по умолчанию, которое работает, создается для smp (CONFIG_SMP=y). Но эта машина имеет только 1 CPU. На однопроцессорном ядре, в отличие от smp ядра, spin_lock/unlock являются пустыми...
вопрос задан: 13 May 2011 13:25
0
ответов

Когда следует использовать спин-блокировку вместо мьютекса?

Я думаю, что оба выполняют одну и ту же работу, как вы решаете, какой из них использовать для синхронизации?
вопрос задан: 3 May 2011 02:01
0
ответов

Эквивалент инструкции PAUSE x86 для PPC

Существует ли эквивалент инструкции PAUSE x86, которая помещается в занято циклы ожидания для повышения производительности, особенно на машинах SMT, на PowerPC?
вопрос задан: 24 March 2011 21:05
0
ответов

DI: Сколько вводить?

Я пишу свое второе реальное приложение, использующее DI. В целом я думаю, что это позволило улучшить дизайн. Но есть запахи кода, которые я не знаю, как решить. Я предпочитаю использовать ...
вопрос задан: 19 January 2011 08:45
0
ответов

Как команда паузы x86 работает в спин-блокировке * и * может ли она использоваться в других сценариях?

Команда паузы обычно используется в цикле тестирования спин-блокировки, когда какой-либо другой поток владеет spinlock, чтобы смягчить жесткую петлю. Это' s сказал, что это эквивалентно некоторым инструкциям NOP. ...
вопрос задан: 18 January 2011 15:09
0
ответов

Как избежать сна при удержании спин-блокировки

Недавно я прочитал раздел 5.5.2 (Спин-блокировки и атомарный контекст) книги LDDv3: Как избежать спать, удерживая замок, бывает сложнее; многие функции ядра могут "спать", и такое поведение не ...
вопрос задан: 9 September 2010 13:07