Re: Spin locks

From
Gennady Mayko ()
To
Alex Fedotov
Date
2002-07-01T10:23:18Z
Area
SU.WINDOWS.NT.PROG
From: "Gennady Mayko" <gennady.mayko@broadcom.com>

Добрый день,

Sun Jun 30 2002 19:43, Alex Fedotov wrote to Gennady Mayko:

 AF> From: "Alex Fedotov" <me@alexfedotov.com>
 
 >> Использование же номера процессора технически будет сложнее. Во-первых,
 >> судя по MSDN, получить номер процессора в kernel mode для текущего
 >> thread'a документированными средствами не удастся.

 AF> KeGetCurrentProcessorNumber.
--
Спасибо, не заметил.


 >> Во-вторых, если мы не ограничили специально AffinityMask для thread'a,
 >> нужно специально постараться, чтобы, с момента определения номера
 >> процессора, thread не переключился с него к тому времени, когда мы будем
 >> сравнивать owner'a для spinlock'a.

 AF> Для этого достаточно поднять IRQL до DISPATCH_LEVEL, что собственно и
 AF> делают обычные спин-локи в NT.
--
Да, что-то подобное я и имел ввиду.

В таком варианте, при втором и последующих захватах spinlock'a, всегда будет
вызываться KeRaiseIrgl*. В оригинальном же этого не будет.

 AF> -- Alex Fedotov

С уважением,
Геннадий Майко.

--- ifmail v.2.15dev5
 * Origin: FidoNet Online - http://www.fido-online.com (2:5020/400)