Настройка спин-счетчика

Настройка спин-счетчика

Обычно, если в результате выполнения функции EnterCriticalSection поток обнаруживает, что объект CS уже принадлежит другому потоку, он входит в ядро и остается блокированным до тех пор, пока не освободится объект CRITICAL_SECTION, что требует определенного времени. Однако в SMP-системах вы можете потребовать, чтобы поток повторил попытку завладеть объектом CS, прежде чем блокироваться, поскольку существует вероятность того, что поток, владеющий CS, выполняется на другом процессоре и в любой момент может освободить CS. Это может оказаться полезным для повышения производительности, если между потоками наблюдается высокая состязательность за право владения единственным объектом CRITICAL_SECTION. Влияние упомянутых факторов на производительность обсуждается далее в этой и последующих главах.

Для настройки счетчика занятости, или спин-счетчика (spin-count), предназначены две функции, одна из которых, SetCriticalSectionSpinCount, обеспечивает динамическую настройку счетчика, а вторая, InitializeCritical-SectionAndSpinCount, выступает в качестве замены функции Initialize-CriticalSection. Настройка спин-счетчика рассматривается в главе 9.

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

Просмотр счетчика посещений сайта

Из книги Интернет-разведка [Руководство к действию] автора Ющук Евгений Леонидович

Просмотр счетчика посещений сайта Неочевидный для многих, но иногда крайне полезный ресурс при изучении сайта компании – счетчик посещений этого сайта. Он позволяет отслеживать, сколько посетителей и откуда приходят на сайт, а также участвовать в рейтингах.Счетчик


Настройка

Из книги Документация NetAMS автора Автор неизвестен

Настройка В заголовке скрипта addon/snmp2netams.pl необходимо:@devices=(«catalyst»);Перечислить через запятую заключенные в кавычки имена (hostname) устройств, откуда вы хотите собирать статистику.$community=«public»;Коммьюнити для


12.3. Увеличение счетчика в отображаемом в память файле

Из книги UNIX: взаимодействие процессов автора Стивенс Уильям Ричард

12.3. Увеличение счетчика в отображаемом в память файле Изменим программу в листинге 12.1 (которая не работала) таким образом, чтобы родительский и дочерний процессы совместно использовали область памяти, в которой хранится счетчик. Для этого используем отображение файла в


13.5. Увеличение общего счетчика

Из книги Системное программирование в среде Windows автора Харт Джонсон М

13.5. Увеличение общего счетчика Разработаем программу, аналогичную приведенной в разделе 12.3, — несколько процессов увеличивают счетчик, хранящийся в разделяемой памяти. Итак, мы помещаем счетчик в разделяемую память, а для синхронизации доступа к нему используем


Настройка производительности SMP-систем с помощью спин-счетчиков

Из книги Сетевые средства Linux автора Смит Родерик В.

Настройка производительности SMP-систем с помощью спин-счетчиков Эффективность методики блокирования (вхождение в раздел) и разблокирования (выход из раздела) объекта CRITICAL_SECTION объясняется тем, что тестирование объекта CS выполняется в пользовательском пространстве без


Установка значений спин-счетчиков

Из книги Новый ум короля [О компьютерах, мышлении и законах физики] автора Пенроуз Роджер

Установка значений спин-счетчиков Спин-счетчики CS могут устанавливаться на стадии инициализации объектов CS или динамическим путем. В первом случае функция InitializeCriticalSection заменяется функцией InitializeCriticalSectionAndSpinCount, в которой добавлен параметр счетчика. В то же время,


Настройка SSH

Из книги Офисный компьютер для женщин автора Пастернак Евгения

Настройка SSH Из протоколов, обеспечивающих защиту передаваемых данных, среди пользователей Linux наиболее популярен SSH (Secure Shell — защищенная оболочка). Данные, предназначенные для передачи по сети посредством данного протокола, шифруются. Очевидно, что шифрованные данные


Спин фотона

Из книги Священные войны мира FOSS автора Федорчук Алексей Викторович


Настройка

Из книги автора

Настройка Если вы запускаете Microsoft Outlook на компьютере впервые, то увидите такое сообщение (рис. 4.1). Рис. 4.1. Вас приветствует Outlook Нажимайте кнопку Далее. Появится следующее окно (рис. 4.2).У вас уже есть свой почтовый адрес? Если нет, то нужно быстренько сходить на любой


Спин-блокировки

Из книги автора

Спин-блокировки Было бы очень хорошо, если бы все критические участки были такие же простые, как инкремент или декремент переменной, однако в жизни все более серьезно. В реальной жизни критические участки могут включать в себя несколько вызовов функций. Например, очень


Другие средства работы со спин-блокировками

Из книги автора

Другие средства работы со спин-блокировками Функция spin_lock_init() используется для инициализации спин-блокировок, которые были созданы динамически (переменная типа spinlock_t, к которой нет прямого доступа, а есть только указатель на нее).Функция spin_try_lock() производит попытку


Спин-блокировки и обработчики нижних половин

Из книги автора

Спин-блокировки и обработчики нижних половин Как было указано в главе 7, "Обработка нижних половин и отложенные действия", при использовании блокировок в работе с обработчиками нижних половин необходимо принимать некоторые меры предосторожности. Функция spin_lock_bh()


Спин-блокировки чтения-записи

Из книги автора

Спин-блокировки чтения-записи Иногда в соответствии с целью использования блокировок их можно разделить два типа — блокировки чтения (reader lock) и блокировки записи (writer lock). Рассмотрим некоторый список, который может обновляться и в котором может выполняться поиск. Когда


Сравнение спин-блокировок и семафоров

Из книги автора

Сравнение спин-блокировок и семафоров Понимание того, когда использовать спин-блокировки, а когда семафоры является важным для написания оптимального кода. Однако во многих случаях выбирать очень просто. В контексте прерывания могут использоваться только