<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ydb/library/cpp/yt/threading/spin_lock.h, branch oidc-1.2.5-dev</title>
<subtitle>Mirror of YDB github repos</subtitle>
<id>https://code.mastervirt.ru/ydb/atom?h=oidc-1.2.5-dev</id>
<link rel='self' href='https://code.mastervirt.ru/ydb/atom?h=oidc-1.2.5-dev'/>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/'/>
<updated>2023-11-16T15:51:45Z</updated>
<entry>
<title>Active spinlock tracking from pr3151306. Added TracelessGuards to disable mentioned tracking</title>
<updated>2023-11-16T15:51:45Z</updated>
<author>
<name>arkady-e1ppa</name>
<email>arkady-e1ppa@yandex-team.com</email>
</author>
<published>2023-11-16T14:24:02Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=6b40f0f1060a3e9d54347e52c7dc8fb278e6e86b'/>
<id>urn:sha1:6b40f0f1060a3e9d54347e52c7dc8fb278e6e86b</id>
<content type='text'>
1) Добавлена возможность инструментировать ваш любимый мьютекс/спинлок/что-либо с методами Acquire/Release со схожим смыслом. Делается это засчет методов ```NThreading::NDetail::RecordSpinlockAcquired```/```NThreading::NDetail::RecordSpinlockReleased```. Они отслеживают число захваченных спинлоков.

2) Добавлен макрос ```REGISTER_TRACKED_SPIN_LOCK_CLASS```, который позволяет номинально проверить на этапе компиляции, что данный спинлок отслеживается.

3) Добавлен метод ```NThreading::VerifyNoSpinlockAffinity```, который коркается, если число захваченных спинлоков больше нуля.

4) Добавлены Traceless версии (почти) всех гардов, чтобы можно было не отслеживать конкретную критическую секцию, если очень нужно.

5) Внутри файберного ```WaitUntilSet``` вызывается ```VerifyNoSpinlockAffinity``` -- делать ```WaitFor``` или ```Yield``` внутри отслеживаемых критических секций нельзя. Если очень хочется -- используем TracelessGuard нужного вида.

6) Теперь отслеживаются такие спинлоки и их наследники: ```TSpinLock```, ```TRecursiveSpinLock```, ```TReaderWriterSpinLock```.

7) Зарегистрированы как отслеживаемые все вышеперечисленные спинлоки и их Padded версии.

8) Все эти действия имеют эффект только в дебаг сборке. В релизе вся эта диагностика стирается.
</content>
</entry>
<entry>
<title>YT-17689: Move TFreeList to library/cpp/yt/memory</title>
<updated>2023-05-10T10:26:37Z</updated>
<author>
<name>aleexfi</name>
<email>aleexfi@yandex-team.com</email>
</author>
<published>2023-05-10T10:26:37Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=a5581558250508c2cae6de5225e540e12289a530'/>
<id>urn:sha1:a5581558250508c2cae6de5225e540e12289a530</id>
<content type='text'>
Iteration no. 2. First one reverted due to YT-18997</content>
</entry>
<entry>
<title>Revert "YT-17689: Move TFreeList to library/cpp/yt/memory"</title>
<updated>2023-04-17T16:04:38Z</updated>
<author>
<name>aleexfi</name>
<email>aleexfi@yandex-team.com</email>
</author>
<published>2023-04-17T16:04:38Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=33eeb5e847369fe68b7a4780f62c536860d257d2'/>
<id>urn:sha1:33eeb5e847369fe68b7a4780f62c536860d257d2</id>
<content type='text'>
This reverts commit 617a1d07971366c19cdf278579ee9b1cbfa53db8, reversing
changes made to 27e0312d3842c4e5e3ea6b09611c8f6ff6938dd6.</content>
</entry>
<entry>
<title>YT-17689: Move TFreeList to library/cpp/yt/memory</title>
<updated>2023-03-17T15:24:11Z</updated>
<author>
<name>aleexfi</name>
<email>aleexfi@yandex-team.com</email>
</author>
<published>2023-03-17T15:24:11Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=7825c9057d3fad670eadd60509802152127d6e49'/>
<id>urn:sha1:7825c9057d3fad670eadd60509802152127d6e49</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fix ya.make</title>
<updated>2022-07-07T11:41:37Z</updated>
<author>
<name>monster</name>
<email>monster@ydb.tech</email>
</author>
<published>2022-07-07T11:41:37Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=06e5c21a835c0e923506c4ff27929f34e00761c2'/>
<id>urn:sha1:06e5c21a835c0e923506c4ff27929f34e00761c2</id>
<content type='text'>
</content>
</entry>
</feed>
